rsync - 设置文件权限问题

The*_*iot 3 rsync file-permissions ubuntu-10.04

我正在使用rsync在两个Ubuntu Lucid Lynx系统之间同步文件夹。

rsync -az --delete -e "-i /home/ruser/.ssh/id_rsa_ruser -p 200" 
          /usr/local/folder/ ruser@192.168.1.2:/usr/local/backup/folder/
Run Code Online (Sandbox Code Playgroud)

一切都很顺利,除了我遇到以下问题:

rsync: failed to set permissions on "/usr/local/backup/folder/README.txt": 
         Operation not permitted (1)
Run Code Online (Sandbox Code Playgroud)

在远程系统 (192.168.1.2)ruser上,tnr group其成员是/usr/local/backup/folder/. 文件夹的权限如下:

drwxrwxr-x 3 tom tnr 188416 2011-06-20 18:04 folder
Run Code Online (Sandbox Code Playgroud)

请帮助我解决错误或通过 rsync 绕过更改权限设置的任何方法。

编辑:- 我通过在源服务器上创建组 tnr 并将其设置为源文件夹的所有者来解决这个问题。

Cal*_*leb 13

您不能通过成为组成员来更改文件时间戳或更改权限,您必须是文件所有者或 root。如果您不能成为该文件的另一个,您可能需要完全避免尝试设置权限。您可以使用 perms 选项(在您的其他选项之后,因为-a包括一堆东西,包括这个的积极因素)来做到这一点,如下所示:

rsync -az --no-perms

您可以在此相关问题上看到有关底层系统的一些讨论。