我正在使用 rsync 将目录从一台机器同步到另一台机器,但遇到了以下问题:目标目录权限被更改。
rsync -ahv defaults/ root@hostname:~/
问题是,在这种情况下,defaults
文件夹的权限和所有权将被分配给目标文件夹。
我确实想保留文件和子目录的权限,但不保留源目录本身的权限。
此外,我不想从目标中删除任何现有文件(但在需要时更新它们),但我认为当前设置已经没问题。
我怎样才能做到这一点?
答案1
如果要排除defaults
目录的权限更改,则必须不是将其包含在命令中(因为您显然希望保留所复制所有内容的权限)。因此,您可以执行以下操作:
rsync -ahv defaults/* root@hostname:~/
或者,如果您有以点开头的文件或目录defaults
,并且假设您使用 bash:
shopt -s dotglob
rsync -ahv defaults/* root@hostname:~/