用来“聪明”合并两个文件夹的rsync命令是哪个?


39

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

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

这是我发现的谷歌搜索内容,但我认为这是不正确的。

rsync -avz --ignore-existing src dest

手册页超出了我的理解范围。

谢谢。

PS在两个文件夹中都存在文件的情况下,最好的做法是将较旧的文件覆盖到目标文件夹中,同时保留较旧的文件副本,以备备份,以防万一您应该返回到旧文件。以前

Answers:


66

我会用:

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

2
真的很好,我最终使用了rsync -abuP
2013年
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.