当我执行rsync时,它会在传输完所有文件后试图对它们进行处理。即使文件传输正常,也会导致chown错误。
使用rsync,有没有办法告诉它不要尝试对文件进行chown?如果我像1000个文件一样进行rsync,则最终会收到1000个
chown
错误的日志。我知道得到这些错误不会有任何伤害,因为文件的所有权是由sshfs配置本身确定的,但是最好不要得到它们。#1 楼
您可能正在像这样运行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
#2 楼
不要传递-o
或暗示它的其他任何选项。#3 楼
不要使用-a
选项,因为它将包括保留权限的-p
选项。对于这种情况,-r
应该足够了。 有关更多信息,请参阅
man rsync
。评论
您确定-p是我要避免的吗?所有权不同于权限,对吗?
–杰克·威尔逊(Jake Wilson)
2012年2月29日在16:04
#4 楼
我遇到了类似的情况,rsync
并未保留从远程服务器同步的所有者和文件和目录组。要纠正,我复制了
/etc/shadow
,/etc/group
和/etc/passwd
文件。当我在下面运行
rsync
命令时,它的工作方式是保留权限,符号链接和所有权。 我已经设置了ssh密钥以使用无密码的ssh。
rsync -avpog user@10.1.x.x:/usr/local /usr
评论
...或只是-a --no-o --no-g
– glglgl
2012-2-29在7:43
我只使用了rsync -r --no-o --no-g / source / * / dest /,目标的我的所有者和文件组仍然根据源而更改。有任何想法吗?
–Ram Patra
17年9月18日在21:35