哪个 rsync 命令可以“智能地”合并两个文件夹?

哪个 rsync 命令可以“智能地”合并两个文件夹?

我有一些文件夹被错误地复制了,我必须将它们合并在一起。假设文件夹 A 包含文件 X,文件夹 B 包含文件 Y,我想将文件 X 复制到文件夹 B。但是,当然,我可能会遇到更复杂的情况,即文件夹 A 和 B 都包含相同的文件 X:在这些情况下,我想保留文件的最新副本,因此 rsync 应该比较两个文件,如果源文件较旧,则跳过,否则目标文件是较旧的文件,并覆盖。

我应该在 rsync 命令行上输入哪些参数?

这是我在谷歌上找到的,但我不认为是正确的。

rsync -avz --ignore-existing src dest

手册页在某种程度上超出了我的理解范围。

PS 如果文件存在于两个文件夹中,则更好的做法是将较旧的文件覆盖到目标文件夹中,同时保留较旧的文件的副本,以备您需要恢复到上一个​​文件时使用

答案1

我会用:

rsync -abviuzP src/ dest/
  • -i打开分项格式,显示比默认格式更多的信息
  • -b使两个文件夹中都存在的 rsync 备份文件附加~到旧文件。您可以使用以下命令控制此后缀--suffix .suf
  • -u使 rsync 传输跳过目标位置比源位置更新的文件
  • -z打开压缩功能,这在通过慢速链接传输易压缩文件时很有用
  • -P打开--partial--progress
  • --partial如果传输中断,使 rsync 保留部分传输的文件
  • --progress显示每次传输的进度条,对于传输大文件非常有用

相关内容