运行 rsync 时强制设置权限

baf*_*mca 16 server permissions command-line backup rsync

目前,我正在使用 rsync/ssh 组合脚本将千兆字节和千兆字节的数据从实时服务器备份到备份服务器,从而允许每晚使用 cron 作业进行自动化操作。

我遇到的问题是权限。

使用 -a 模式运行 rsync 会复制 user:group 和 filemode,它们当前是 54122:games 和 -rwx--S---。

为了能够在备份服务器上执行文件(不要问我为什么雇主需要这个),我不得不运行一个耗费时间和 CPU 成本的(因为传输的数据量巨大)chown () 和 chmod() 将每个文件/文件夹设置为 www-data:www-data 和 755 的权限。

无论如何我可以设置 rsync 来强制将每个文件/文件夹设置为 www-data:www-data 和 755 还是我从错误的角度看这个问题?

我想我可以运行 -rltD 而不是 -a(相当于 -rlptgoD)但是新文件会发生什么?他们收到哪些权限和所有者:组设置?

Tak*_*kat 24

在许多其他选项中,rsync可以通过使用以下选项运行来更改权限:

rsync [options] --chmod=CHMOD source destination
Run Code Online (Sandbox Code Playgroud)

您还可以将选项--archive与选项结合起来,--no-owner或者--no-perms排除保留所有者的权利。权限。有关 CHMOD 非常微妙的设置的更多选项,请参阅rsync联机帮助页

  • 示例:`rsync --chmod=ugo=rX 源/目标/` (7认同)