Rsync
使用 rsync 僅複製已更改的文件
現在我有這些命令:
my_dir="$HOME/foo/bar"; rm -rf "$my_dir/WebstormProjects/"; rsync -r --exclude=".git" --exclude="node_modules" "$HOME/WebstormProjects/" "$my_dir/WebstormProjects/"
而不是刪除所有內容
"$my_dir/WebstormProjects/"
然後復製過來,我希望使用rsync
這樣它只會"$my_dir/WebstormProjects/"
在文件"$HOME/WebstormProjects/"
更新時覆蓋文件。所以是這樣的:my_dir="$HOME/foo/bar"; rsync -r --newer --exclude=".git" --exclude="node_modules" "$HOME/WebstormProjects/" "$my_dir/WebstormProjects/"
只有當文件比目標文件更新時才可以復製文件?
我做了一些閱讀: https ://www.tecmint.com/sync-new-changed-modified-files-rsync-linux/
它說:
預設情況下,rsync 僅將新的或更改的文件從源複製到目標…
我假設它通過比較相對文件路徑來做到這一點?具有相同路徑/名稱的文件被認為是相同的?
這是 rsync 預設行為。它檢查文件大小和最後修改大小。
如果您希望它改用校驗和,請使用
-c
or--checksum
選項(效果相同)。手冊頁在這裡並描述了選項,也可能是--size-only