繁体   English   中英

Rsync 未正确设置 Windows 文件夹的权限

[英]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 中的安全权限不会引发错误。

迈克尔,

此解决方案建议您不应该使用--perms ,而是使用--chmod=ugo=rwX

祝你好运!

多坦

在复制发生后,我使用现已弃用的 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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM