oro*_*hen 5 rsync file-comparison
我知道有一个非常类似的问题在这里,但接受的答案无关使用rsync,和OP的解决方案并不在我的情况适用。
我正在尝试从 CentOS 存储库中获取与本地存储库不同的所有更新,方法是将它们与存储库的磁盘备份进行比较:
rsync -avh --dry-run --compare-dest=/run/media/user/centos6/updates/x86_64/Packages /home/REPOS/6/updates/x86_64/Packages/ updates
Run Code Online (Sandbox Code Playgroud)
但是,试运行表明所有包裹都将被转移,而不仅仅是新包裹。
做一个不同的试运行,就像我从 repo 复制到磁盘一样,只传输新包:
rsync -avh --dry-run /home/REPOS/6/updates/x86_64/Packages/ /run/media/djones/centos6/updates/x86_64/Packages
Run Code Online (Sandbox Code Playgroud)
所以 rsync 显然能够区分新文件,但由于某种原因, compare-dest 选项似乎仍然不起作用。
快速而肮脏的解决方案是使用第二个命令简单地转储文件列表,然后将其提供给 rsync。但我真的很想以“正确”的方式做到这一点。
小智 1
我也遇到了同样的麻烦,你必须这样做:
rsync -avh --dry-run \
--compare-dest=/run/media/user/centos6/updates/x86_64/ \
/home/REPOS/6/updates/x86_64/Packages \
/path/to/updates
Run Code Online (Sandbox Code Playgroud)
注意 --compare-dest
是源文件夹的父文件夹Packages
,不要放在/
源文件夹的末尾!
归档时间: |
|
查看次数: |
9122 次 |
最近记录: |