必要なのは rsync です。
このコマンドは、フォルダーを同期するために使用できます。また、途中で中止されたときにコピーを再開することもできます。 1 つのディスクをコピーするコマンドは次のとおりです:
rsync -avxHAX --progress / /new-disk/
オプションは次のとおりです。
-a : all files, with permissions, etc..
-v : verbose, mention files
-x : stay on one file system
-H : preserve hard links (not included with -a)
-A : preserve ACLs/permissions (not included with -a)
-X : preserve extended attributes (not included with -a)
コピー速度を改善するには、 -W
を追加します (--whole-file
)、ファイルのデルタ/差分の計算を避けるため。これは、ソースと宛先の両方がローカル パスとして指定されている場合のデフォルトです。これは、rsync のデルタ転送アルゴリズムの真の利点がネットワーク使用量の削減であるためです。
--numeric-ids
を追加することも検討してください ユーザー/グループ名による uid/gid 値のマッピングを避けるため。
Michael Aaron Safyan の回答は、スパース ファイルを考慮していません。 -S
オプションはそれを修正します。
また、この亜種は、進行中の各ファイルでスパムを送信せず、非ネットワークの場合にパフォーマンスを低下させるデルタ同期を行いません。
あるローカル ドライブから別のローカル ドライブにファイル システムをコピーするのに最適です。
rsync -axHAWXS --numeric-ids --info=progress2
よく使う
> cp -ax / /mnt
/mnt が /mnt にマウントされた新しいディスクであり、/ に他のマウントがないと仮定します。
-x はそれを 1 つのファイルシステムに保持します。
もちろん、これは root として、または sudo を使用して行う必要があります。
このリンクには、上記のものを含むいくつかの代替手段があります
http://linuxdocs.org/HOWTOs/mini/Hard-Disk-Upgrade/copy.html