
想像する:
ソースディレクトリ:
/day1/hour1/instance1/files.ext
/day1/hour1/instance2/files.ext
/day1/hour1/instance3/files.ext
/day1/hour2/instance1/files.ext
/day1/hour2/instance2/files.ext
など..
ターゲットディレクトリ(すでに存在する):
/day1/hour1/instance4/files.ext
/day1/hour1/instance5/files.ext
/day1/hour1/instance6/files.ext
/day1/hour2/instance6/files.ext
/day1/hour2/instance7/files.ext
ソースからターゲットにすべてのファイルをコピーする必要があります。
ご覧のとおり、同じツリーがあります。つまり、同じ日付と同じ時間を意味しますが、ソースとターゲットのインスタンスは異なります。ソース内のすべてのディレクトリとファイルをターゲットの同じツリーにコピーする必要がありますが、すでにターゲットフォルダにあるすべてのファイルは保持する必要があります。
どうすればいいですか?
cp -R
それが私に必要なものですか?それともパラメータを追加する必要がありますか?
答え1
そしてrsync
:
rsync --archive --ignore-existing source_dir/ target_dir/
source_dir
これにより、階層inteがコピーされますが、inteにすでに存在するファイルは上書きされませんtarget_dir
。target_dir
答え2
代わりにrsyncを使うと思います。 rsyncを使用すると、データをコピーして同期できます。一般的なパラメータは次のとおりです。
rsync -avh source destination
v詳細情報aの場合の再帰およびファイル権限、所有権、およびタイムスタンプの保存の場合h人が読める出力番号生成の場合