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



我在Windows 7上使用rsync(特别是cwrsync)。我使用了一个简单的命令:

rsync -r --perms --delete /cygdrive/c/Users/Michael/Documents/Personal/ /cygdrive/c/Users/Michael/Documents/Personal_Backup/

递归复制工作得很好,除非我是(右键单击/Properties/Security选项卡)在rsync在目标上创建的任何文件夹;我得到以下弹出消息:

{folderName}的权限顺序不正确,可能导致有些条目是无效的

我也尝试了——acls选项,但得到以下错误:

recv_acl_access: value out of range: ff rsync error: rsync错误协议数据流(代码12)在acls.c(690)[接收器=3.0。rsync:连接异常关闭(到目前为止收到9字节)[发送方]Rsync错误:Rsync协议数据流(代码12)错误io.c(610)(发送方= 3.0.8)

在任何情况下,我只是想正确地使用rsync,以便在Windows中查看安全权限不会抛出错误。

Michael,

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

祝你好运!

Dotan

一个字,Robocopy

我在使用cwRsync时遇到了同样的问题,尝试了很多事情,但似乎都不起作用,所以我最终放弃了。

这是默认的Windows工具,具有类似的(对于您的目的,相同的)特性集。

我昨晚发现了它,并完全放弃了rsync。它是为类unix系统构建的,所以在Windows上可能会有一些令人失望的东西。

这让我开始:

http://www.sevenforums.com/tutorials/187346-robocopy-create-backup-script.html

这是我为自己制作的小备份脚本,用于将分区镜像到外部驱动器。

我使用现在已弃用的调用在复制发生后将自己添加回去。

rsync -avASPC sourceDir/* destDir
cacls destDir /t /e /r doej
cacls destDir /t /e /g doej:f

其中sourceDir为源目录,destDir为目的目录,doej为用户名。使用icacls可能会更好,但我还没有学过。

我也尝试过机器人复制,但我似乎没有获得工作所需的权限。

用于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

相关内容

  • 没有找到相关文章

最新更新