[英]Rsync does not properly set permissions on Windows folder
我在 Windows 7 上使用 rsync(特别是 cwrsync)。 我正在使用一个简单的命令:
rsync -r --perms --delete /cygdrive/c/Users/Michael/Documents/Personal/ /cygdrive/c/Users/Michael/Documents/Personal_Backup/
递归副本工作正常,除非我要(右键单击/属性/安全选项卡)在目标上由 rsync 创建的任何文件夹; 我收到以下弹出消息:
{folderName} 的权限排序不正确,可能导致某些条目无效。
我也尝试了 --acls 选项,但收到以下错误:
recv_acl_access:值超出范围:ff rsync 错误:rsync 协议数据 stream(代码 12)中的错误 acls.c(690) [Receiver=3.0。 rsync:连接意外关闭(到目前为止已收到 9 个字节)[sender] rsync 错误:rsync 协议数据 stream(代码 12)中的错误 io.c(610)[sender=3.0.8]
无论如何,我只想正确使用 rsync 以便查看 Windows 中的安全权限不会引发错误。
在复制发生后,我使用现已弃用的 cacls 将自己重新添加进来。
rsync -avASPC sourceDir/* destDir
cacls destDir /t /e /r doej
cacls destDir /t /e /g doej:f
其中 sourceDir 是源目录,destDir 是目标目录,doej 是用户名。 使用icacls可能会更好,但我还没有学会它。
我也尝试过 robocopy,但我似乎没有完成这项工作所需的权限。
用于 rsync 的标志
-a, --archive archive mode; equals -rlptgoD (no -H,-A,-X)
-r, --recursive recurse into directories
-l, --links copy symlinks as symlinks
-p, --perms preserve permissions
-t, --times preserve modification times
-g, --group preserve group
-o, --owner preserve owner (super-user only)
-D same as --devices --specials
--devices preserve device files (super-user only)
--specials preserve special files
-v, --verbose increase verbosity
-S, --sparse handle sparse files efficiently
-A, --acls preserve ACLs (implies -p, which is also implied by -a)
-P same as --partial --progress
--progress show progress during transfer
--partial keep partially transferred files
-C, --cvs-exclude auto-ignore files in the same way CVS does
从 CACLS 使用的标志
/T Changes ACLs of specified files in
/E Edit ACL instead of replacing it.
/R user Revoke specified user's access rights (only valid with /E).
/P user:perm Replace specified user's access rights.
Perm can be: ...
F Full control
一个词, Robocopy 。
我在使用 cwRsync 时遇到了完全相同的权限问题,尝试了很多东西,但似乎都没有,所以我最终放弃了。
这是默认的 Windows 工具,具有类似(出于您的目的,相同)的功能集。
我昨晚发现了它并完全放弃了 rsync。 它是为类 unix 构建的,因此在 Windows 上可能会遇到一些麻烦。
这让我开始:
http://www.sevenforums.com/tutorials/187346-robocopy-create-backup-script.html
这是我为自己制作的用于将分区镜像到外部驱动器的小备份脚本。
不要再回头看 rsync 了。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.