当我按照中的要求和回答使用 -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