スーパーユーザーになります。
目的のディレクトリに変更します。
# cd /filesystem1
find コマンドと cpio コマンドを組み合わせてディレクトリツリーをコピーします。
# find . -print -depth | cpio -pdmu /filesystem2
|
. |
現在の作業ディレクトリ内で処理を始める。 |
|
|
ファイル名を出力する。 |
|
-depth |
ディレクトリ階層を下位へたどってバックアップ中にファイル名を出力する。 |
|
-p |
ファイルのリストを作成する。 |
|
-d |
必要に応じてディレクトリを作成する。 |
|
-m |
ディレクトリ上で正しい変更時刻を設定する。 |
指定したディレクトリ名からファイルがコピーされ、シンボリックリンクは保持されます。
また、-u オプションも指定できます。このオプションは、無条件コピーを実施します。-u オプションを指定しないと、古いファイルは、新しいファイルで置換されません。これは、ディレクトリを確実にコピーしたいとき、コピーするファイルの一部がすでにターゲットのディレクトリ中に存在する場合に便利です。
該当する場合は、ソースディレクトリを削除します。
# rm -rf /filesystem1
コピー先ディレクトリの内容を表示して、コピーに成功したかどうかを確認します。
# cd filesystem2
# ls
# cd /data1 # find . -print -depth | cpio -pdm /data2 19013 blocks # cd /data2 # ls # rm -rf /data1 # cd filesystem2 # ls
詳細は、cpio(1) のマニュアルページを参照してください。