我想同步两个目录的内容。
- 如果两个文件名称相同但大小不同,则不覆盖而是创建副本
- 如果两个文件具有相同的名称和大小,则无需重复。
- 递归工作
到目前为止,我发现以下命令可能会起作用
$ rsync -varE --progress ~/folder /volumes/server/folder
但我不太清楚这个-E
标志的作用。这是 bananica.com 上的一个用户建议的,但在手册中找不到它的描述。这能成功满足我的要求吗?
答案1
-E 实际上保留了 OS X 上的扩展属性,但 -a (--archive) 意味着 -p (--perms),而 -p (--perms) 又意味着 --executability。
-b (--backup) 在通常会被覆盖的文件末尾添加波浪符号:
rsync -ab ~/folder /Volumes/server/
-b --suffix _old
将重命名 file.txt 为 file.txt_old
rsync 默认比较文件大小和修改时间。--size-only 仅比较大小。-c 比较校验和,但速度较慢。