GNU/Linux >> Linux の 問題 >  >> Linux

あるドライブから別のドライブにファイル システム階層全体をコピーする

必要なのは 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


Linux
  1. CentOS / RHEL :ボリューム グループをあるシステムから別のシステムに移動する方法

  2. Linux で別のユーザーのホーム ディレクトリからファイル/フォルダをコピーするにはどうすればよいですか?

  3. ある Linux サーバーから別の Linux サーバーに大きなファイルをコピーする

  1. Linuxで特定の種類のファイルを検索してあるディレクトリから別のディレクトリにコピーする方法

  2. Linuxでパーミッションをあるファイルから別のファイルにコピーまたは複製する方法

  3. 最後のN行をあるファイルから別のファイルにコピーしますか?

  1. あるマシンから別のマシンに設定をコピーする方法は?

  2. Awkからファイルをキャットする方法は?

  3. ある mysql データベースから別の mysql データベースにテーブルをコピーする方法