我正在尝试同步两个文件夹及其扩展属性,但是有些文件每次都会无缘无故地同步。
调试 rsync 我发现远程文件标志值与本地的值不同:
[sender] i=34166 /Volumes/MyDisk Documents/local/ mode=040755 len=204 uid=501 gid=20 flags=0
[receiver] i=34166 2 Documents/local/ mode=040755 len=204 gid=20 flags=88
我尝试删除远程文件夹并再次同步整个内容,但总是遇到问题,某些文件/文件夹不断被识别为已修改。
标志字段中包含什么?我尝试使用“ls -lO@ae”比较两个文件夹的属性和 ACL,它们看起来相同。
答案1
在 90% 的情况下,我使用 rsync 并附带以下参数:
rsync -vaH --delete from_dir/ to_dir/
而“rm”命令则是“rm -rvf”。但是我发现你使用的是 OSX,它有一个原始版本的 rm,它总是不能递归删除,而且会出现问题和警告。我建议你用 Google 搜索“gnu fileutils for osx”或类似的,然后安装你找到的那个。rm 可以。
使用 rsync 则不存在这个问题,因为我没有原始版本,而苹果可以将其整合起来。:-)
答案2
仍然不确定“标志”有什么区别,但通过升级 rsync 解决了这个问题