我有一个Linux服务器上的远程文件系统的sshfs连接设置。 我正在从本地服务器到ftpfs文件系统执行Rsync。 由于这个设置的性质,我不能在sshfs文件系统上find任何东西。
当我做Rsync的时候,它试图在传输它们之后把所有的文件剪下来。 这导致chown错误,即使它传输文件就好了。
有了Rsync,有没有办法告诉它不尝试和chown文件? 如果我rsync像1000个文件,我最终以1000 chown: permission denied (error 13)
错误的日志。 我知道这并不会损害任何东西,因为这些文件的所有权是由sshfsconfiguration本身决定的。 但是,如果没有得到它们将会很好。
你可能是这样运行rsync的:
rsync -a dir/ remote:/dir/
根据文档的-a
选项相当于: -rlptgoD
-a, --archive archive mode; equals -rlptgoD (no -H,-A,-X)
您可能想要删除-o
和-g
选项:
-o, --owner preserve owner (super-user only) -g, --group preserve group
所以,而不是你的rsync命令应该是这样的:
rsync -rlptD dir/ remote:/dir/
或者@glglgl指出:
rsync -a --no-o --no-g dir/ remote:/dir/
剩下的选项是:
-r, --recursive recurse into directories -l, --links copy symlinks as symlinks -p, --perms preserve permissions -t, --times preserve modification times -D same as --devices --specials --devices preserve device files (super-user only) --specials preserve special files
不要传递-o
或其他表示它的选项。
不要使用-a
选项,因为它将包含保持权限的-p
选项。 对于这种情况, -r
应该足够了。
有关更多信息,请参阅man rsync
。
我遇到类似的情况, rsync
不保留所有者和一组文件和目录从远程服务器同步。 为了更正,我复制了/etc/shadow
, /etc/group
和/etc/passwd
文件。
当我运行下面的rsync
命令时,它的工作就是保留了权限,符号链接和所有权。
我设置了ssh密钥来使用无密码的ssh。
rsync -avpog [email protected]:/usr/local /usr