我创建了以下用于执行增量备份的rsync脚本:
rsync -arv --exclude-from '/usr/bin/exclude-list.txt' --delete /Volumes/DOCS/ /Volumes/BKUP1/DOCS/
&& rsync -arv --delete /Volumes/Webserver/ /Volumes/BKUP1/Webserver/
我的排除列表是
/Volumes/Webserver/.Spotlight-V100
/Volumes/Webserver/.Trashes
/Volumes/Webserver/.fseventsd
每次我运行此备份。尽管rsync应该是增量备份解决方案,但它似乎每次都会复制所有文件。
E.G。首先运行:
....
sites/website/sites/all/libraries/tinymce/jscripts/tiny_mce/plugins/style/js/.svn/prop-base/
sites/website/sites/all/libraries/tinymce/jscripts/tiny_mce/plugins/style/js/.svn/props/
sites/website/sites/all/libraries/tinymce/jscripts/tiny_mce/plugins/style/js/.svn/text-base/
....
第二轮:
....
sites/website/sites/all/libraries/tinymce/jscripts/tiny_mce/plugins/style/js/.svn/prop-base/
sites/website/sites/all/libraries/tinymce/jscripts/tiny_mce/plugins/style/js/.svn/props/
sites/website/sites/all/libraries/tinymce/jscripts/tiny_mce/plugins/style/js/.svn/text-base/
....
etc...
再次复制相同的文件。此外,我经常遇到以下权限被拒绝的错误,尽管在我的excude-from论证中它们被忽略了:
building file list ... rsync: opendir "/Volumes/Webserver/.Spotlight-V100" failed: Permission denied (13)
rsync: opendir "/Volumes/Webserver/.Trashes" failed: Permission denied (13)
rsync: opendir "/Volumes/Webserver/.fseventsd" failed: Permission denied (13)
有什么想法吗?我希望我可以调整这个脚本,这样它只能复制修改后的/新文件,并向我显示这些文件在详细输出中的内容。
非常感谢先进。
答案 0 :(得分:2)
或者您可以使用“仅限尺寸”选项,如果您确定没有文件已修改但尺寸相同,则可以执行听起来的操作。
答案 1 :(得分:1)
您是否从格式不同的驱动器复制到FAT32驱动器?我的理解是FAT32保留了16位时间戳,只允许大约两秒的分辨率,这远远不如其他驱动器格式精确。默认情况下,rsync要求时间戳完全匹配,因此几乎每个文件都将无法通过此测试并进行重新复制。
要解决此问题,您需要让rsync从源中传递时间戳+/- 1秒(总计2秒)的文件。您可以通过添加
来完成此操作--modify-window=1
到rsync命令。