Rsync:执行所需权限

我在两台服务器之间使用rsync传输文件。

问题是一些文件没有被传输。 我得到这个错误:rsync:readlink “/var/www/index.html”失败:权限被拒绝(13)

因此,我检查服务器上的权限,并进行testing后,我注意到只有具有这些权限的文件才被传输:RW! 如果文件具有这些权限:R–,Rsync无法下载!

命令:

/usr/bin/rsync -avzr -e "/usr/bin/ssh -i /home/replication/thishost-rsync-key" [email protected]:/var/www/index.html ./ 

这是Rsync的错误吗? 我发现有关这个问题的任何信息。

谢谢你的帮助

Debian Etch 2.6.30 Rsync 2.6.9协议版本29

rsync需要能够读取您正在尝试复制的文件,所以我的猜测是,运行rsync的用户对所涉及的文件没有读取权限。

如果是这种情况,您可以将该文件的读取权限授予该用户,也可以使用对您尝试复制的所有文件具有读权限的其他帐户。

如果这不是问题,请发送ls -l /var/www/index.html的输出

要validation它是rsync所说的权限,请尝试:

 ssh [email protected] "ls -al /var/www/index.html" or ssh [email protected] "ls -al /var/www/" 

看看一些没有被传输的文件是指向树外部的符号链接; 如果是这样,请查看–safe-links或–copy-links参数。

请更改权限或更改用户。

你可以用rsync -avvv [...]给rsync多一些“详细”来查看更多的错误信息。

“r”参数不需要,因为“a”默认为“-rlptgoD”。 而当你recursion复制时,将“index.html”省略掉,只需在后面的斜线处写“/ var / www /”即可。