File-Copy

遞歸複製所有文件而不替換

  • June 16, 2017

設想:

源目錄:

/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

ETC..

目標目錄(已經存在):

/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是我需要的嗎?還是我需要添加更多參數?

rsync

rsync --archive --ignore-existing source_dir/ target_dir/

這將複製source_dir層次結構 inte target_dir,但不會覆蓋target_dir已存在的任何文件。

我想我會改用 rsync 。使用 rsync 您可以複製和同步數據。典型參數為:

rsync -avh source destination

v 用於詳細 a 用於遞歸併保留文件權限、所有權和時間戳 h 用於製作人類可讀的輸出數字

引用自:https://unix.stackexchange.com/questions/371458