pro*_*eek 51 permissions rsync
当我按照Preserve the permissions with rsync 中的要求和回答使用 -a 选项时,我收到了很多“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 ...
Run Code Online (Sandbox Code Playgroud)
为什么是这样?文件是权限为0664的普通文件。
ken*_*orb 50
发生此错误是因为不允许更改权限的操作。因此,要么检查您执行命令的用户是否具有正确的权限(例如,他不是所有者),要么您的文件系统不支持它。
您可以通过指定 rsync to--no-perms
和-O
( --omit-dir-times
)的附加参数来忽略警告,以避免尝试对文件/目录设置权限和修改时间。这应该可以解决错误。或者避免使用-a
.
cjm*_*cjm 33
最有可能的是,目标端的 rsync 没有以具有chmod
这些文件权限的用户身份运行(必须是文件的所有者或 root)。
小智 10
如前所述,只要您无权更改rsync
. 但是,您可以通过使用两个附加参数--no-o
和来避免此错误消息--no-g
。
例子:
rsync -ahv --no-o --no-g target/ destination/
Run Code Online (Sandbox Code Playgroud)
通常在以下情况下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
禁用这些隐含选项中的任何一个。
--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).
Run Code Online (Sandbox Code Playgroud)
所以在我们的例子中,我们想使用这样的东西来禁用一些东西:
$ rsync -avz --no-o --no-g --no-perms <src> <dst>
Run Code Online (Sandbox Code Playgroud)
$ 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
Run Code Online (Sandbox Code Playgroud)
发生这种情况的另一个原因是使用了-a
开关。-a
包括一系列开关:
Run Code Online (Sandbox Code Playgroud)-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
Run Code Online (Sandbox Code Playgroud)
这样做的话,上面的例子会变成这样:
$ 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
Run Code Online (Sandbox Code Playgroud)