rsync -a 或 -p 选项出现“rsync:无法设置...的权限”错误

rsync -a 或 -p 选项出现“rsync:无法设置...的权限”错误

当我按照中的要求和回答使用 -a 选项时使用 rsync 保留权限,我收到很多“rsync:无法设置权限”错误。

rsync: failed to set permissions on "/ata/text/RCS/jvlc,v": Operation not permitted (1)
rsync: failed to set permissions on "/ata/text/RCS/jvm,v": Operation not permitted (1)
rsync: failed to set permissions on ...

为什么是这样?这些文件是普通文件,权限为0664。

答案1

发生此错误是因为不允许更改权限的操作。因此,要么检查执行命令的用户是否具有正确的权限(例如,他不是所有者),要么您的文件系统不支持它。

您可以通过指定 rsync 的附加参数来忽略警告--no-perms( ) 以避免尝试设置文件/目录的权限和修改时间-O--omit-dir-times这应该可以解决错误。或者避免使用-a.

答案2

最有可能的是,目标端的 rsync 没有以具有chmod这些文件权限的用户身份运行(该用户必须是文件的所有者或 root)。

答案3

背景

通常,rsync如果出现以下情况,您会看到警告:

  • 另一端的服务器rsync不具备执行与以下操作相关的操作的权限:
  • 所有者
  • 团体
  • 权限
  • 访问时间
  • 或者远程端的文件系统不支持与发送方相同类型的元数据(权限、所有权等)

rsync这些问题将通过尝试与服务器通信的客户端显现出来,rsync在尝试将文件/目录复制到接收器时显示为如下消息:

所有者

rsync: chown "/mnt/music/The Fleetwood Mac/Trilogy - 2006/Trilogy - 2006 - CD 3/311_fleetwood_mac_-_eyes_of_the_world.mp3" 失败:不允许操作 (1)

团体

rsync: chgrp "/mnt/music/The Fleetwood Mac Discography by Sketch/Trilogy - 2006/Trilogy - 2006 - CD 3/311_fleetwood_mac_-_eyes_of_the_world.mp3" 失败:不允许操作 (1)

权限

rsync:无法在“/mnt/music/The Fleetwood Mac Discography by Sketch/Trilogy - 2006/Trilogy - 2006 - CD 3”上设置权限:不允许操作 (1)

如果接收方无法执行这些操作,您可以指示rsync仅跳过尝试执行这些操作,并意识到目标不会与发送方的文件元数据严格相同。这仍然会创建文件和目录的二进制部分的相同副本。

要告诉rsync不要担心元数据,您可以使用 来--no-OPTION禁用任何这些隐含选项。

rsync 手册页

--no-OPTION
      You  may  turn off one or more implied options by prefixing the option name
      with “no-”.  Not all options may be prefixed with a “no-”: only options that
      are  implied  by  other  options (e.g.  --no-D,  --no-perms)  or  have
      different  defaults  in  various  circumstances (e.g.  --no-whole-file,
      --no-blocking-io, --no-dirs).  You may specify either the short or the long
      option name after the “no-” prefix (e.g. --no-R is the same as --no-relative).

      For  example: if you want to use -a (--archive) but don’t want -o (--owner),
      instead of converting -a into -rlptgD, you could specify -a --no-o (or -a
      --no-owner).

      The order of the options is important:  if you specify --no-r -a, the -r
      option would end up being  turned  on,  the  opposite  of  -a  --no-r.
      Note  also that the side-effects of the --files-from option are NOT positional,
      as it affects the default state of  several  options and slightly changes the
      meaning of -a (see the --files-from option for more details).

因此,在我们的例子中,我们将使用类似这样的方法来禁用某些功能:

$ rsync -avz --no-o --no-g --no-perms <src> <dst>

例子

$ rsync -avz --delete --no-o --no-g --no-perms The\ Fleetwood\ Mac/ /mnt/music/The\ Fleetwood\ Mac/.
sending incremental file list
Trilogy - 2006/
Trilogy - 2006/Trilogy - 2006 - CD 3/
Trilogy - 2006/Trilogy - 2006 - CD 3/301_fleetwood_mac_-_love_in_store.mp3
Trilogy - 2006/Trilogy - 2006 - CD 3/302_fleetwood_mac_-_cant_go_back.mp3
Trilogy - 2006/Trilogy - 2006 - CD 3/303_fleetwood_mac_-_thats_alright.mp3
Trilogy - 2006/Trilogy - 2006 - CD 3/304_fleetwood_mac_-_book_of_love.mp3
Trilogy - 2006/Trilogy - 2006 - CD 3/305_fleetwood_mac_-_gypsy.mp3
Trilogy - 2006/Trilogy - 2006 - CD 3/306_fleetwood_mac_-_only_over_you.mp3
Trilogy - 2006/Trilogy - 2006 - CD 3/307_fleetwood_mac_-_empire_state.mp3
Trilogy - 2006/Trilogy - 2006 - CD 3/308_fleetwood_mac_-_straight_back.mp3
Trilogy - 2006/Trilogy - 2006 - CD 3/309_fleetwood_mac_-_hold_me.mp3
Trilogy - 2006/Trilogy - 2006 - CD 3/310_fleetwood_mac_-_oh_diane.mp3
Trilogy - 2006/Trilogy - 2006 - CD 3/311_fleetwood_mac_-_eyes_of_the_world.mp3
Trilogy - 2006/Trilogy - 2006 - CD 3/312_fleetwood_mac_-_wish_you_were_here.mp3

sent 61993245 bytes  received 289 bytes  17712438.29 bytes/sec
total size is 2596551439  speedup is 41.88

选择

发生这种情况的另一个原因是-a开关的使用。-a包括一系列开关:

    -a, --archive               archive mode; equals -rlptgoD (no -H,-A,-X)

您可以使用各个开关来代替-a使用,而不必使用--no-OPTION's。

这些是包含的单独选项-a

    -r, --recursive             recurse into directories
    -l, --links                 copy symlinks as symlinks
    -p, --perms                 preserve permissions
    -t, --times                 preserve modification times
    -o, --owner                 preserve owner (super-user only)
    -g, --group                 preserve group
    -D                          same as --devices --specials
        --devices               preserve device files (super-user only)
        --specials              preserve special files

以这种方式做事,上面的例子将变成这样:

$ rsync -rltDvz --delete The\ Fleetwood\ Mac/ /mnt/music/The\ Fleetwood\ Mac/.
sending incremental file list
Trilogy - 2006/
Trilogy - 2006/Trilogy - 2006 - CD 3/
Trilogy - 2006/Trilogy - 2006 - CD 3/301_fleetwood_mac_-_love_in_store.mp3
Trilogy - 2006/Trilogy - 2006 - CD 3/302_fleetwood_mac_-_cant_go_back.mp3
Trilogy - 2006/Trilogy - 2006 - CD 3/303_fleetwood_mac_-_thats_alright.mp3
Trilogy - 2006/Trilogy - 2006 - CD 3/304_fleetwood_mac_-_book_of_love.mp3
Trilogy - 2006/Trilogy - 2006 - CD 3/305_fleetwood_mac_-_gypsy.mp3
Trilogy - 2006/Trilogy - 2006 - CD 3/306_fleetwood_mac_-_only_over_you.mp3
Trilogy - 2006/Trilogy - 2006 - CD 3/307_fleetwood_mac_-_empire_state.mp3
Trilogy - 2006/Trilogy - 2006 - CD 3/308_fleetwood_mac_-_straight_back.mp3
Trilogy - 2006/Trilogy - 2006 - CD 3/309_fleetwood_mac_-_hold_me.mp3
Trilogy - 2006/Trilogy - 2006 - CD 3/310_fleetwood_mac_-_oh_diane.mp3
Trilogy - 2006/Trilogy - 2006 - CD 3/311_fleetwood_mac_-_eyes_of_the_world.mp3
Trilogy - 2006/Trilogy - 2006 - CD 3/312_fleetwood_mac_-_wish_you_were_here.mp3

sent 61993245 bytes  received 289 bytes  17712438.29 bytes/sec
total size is 2596551439  speedup is 41.88

答案4

-a相当于-rltpgoD,它代表:

  • r递归的
  • 符号l墨水复制为符号链接
  • 保留t时间
  • 保留p排放
  • 保留g团体
  • 保护o业主
  • 保留设备和特殊文件 ( D)

如果目标文件系统(例如 FAT 或 NTFS)不支持其中某些文件系统,只需忽略它们即可:

rsync -rltD

相关内容