我在Linux服务器上使用远程文件系统进行sshfs连接设置。我正在从本地服务器到ftpfs文件系统进行rsync。由于此设置的性质,我无法在sshfs文件系统上执行任何操作。
当我执行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


评论


...或只是-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

#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