我知道在使用 rsync 时可以使用-a
或--archive
激活存档模式。不幸的是,我不知道存档模式应该做什么,手册页也没有明确说明这是什么:
等于 -rlptgoD (无 -H,-A,-X)
您能解释一下这些选项(rlptgoD
)的含义以及我使用它们时 rsync 的行为是什么吗?
答案1
这些都是:
-r
,--recursive
递归到目录
-l
,--links
将符号链接复制为符号链接
-p
,--perms
保留权限
-t
,--times
保留修改时间
-g
,--group
保留组
-o
,--owner
保留所有者(仅限超级用户)
-D
与...一样--devices --specials
--devices
保存设备文件(仅限超级用户)
--specials
保存特殊文件
它不包括:
-H
,--hard-links
保留硬链接
-A
,--acls
保留 ACL(暗示-p
)
-X
,--xattrs
保留扩展属性
它非常适合备份。我的“默认”开关设置是-avzP
- 存档模式、详细、使用压缩、保留部分文件、显示进度。
注意:当描述中提到“保留”时,其含义是使目的地与源地一样。
答案2
它确保双方的权限、属性等相同。rsync 只能以这种方式工作...如果您想同步文件,则必须使用 -a 参数。
这是因为 rsync 会在两端比较这些权限、属性等,以确定它们是否相同文件并决定是否应该更新。如果使用 rsync -r xxx yyy 而不是 rsync -a xxx yyy,一些文件将被一遍又一遍地复制,因为权限、属性未同步,并且双方不匹配......
答案3
存档开关只是一个快捷方式,如果您使用 rsync 进行备份(一项常见任务),则可以让您跳过输入一堆通常会使用的开关的步骤。
这与输入以下内容相同:
rsync -r -l -p -t -g -o -D
而且它更容易记住。您可以在手册页中找到所有这些开关的定义。
(当组合多个单字母开关时,连字符是可选的。)