Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/windows/16.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Rsync未正确设置Windows文件夹的权限_Windows_Rsync_Directory Permissions - Fatal编程技术网

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

Rsync未正确设置Windows文件夹的权限,windows,rsync,directory-permissions,Windows,Rsync,Directory Permissions,我在Windows7上使用rsync(特别是cwrsync)。我使用的是一个简单的命令: rsync -r --perms --delete /cygdrive/c/Users/Michael/Documents/Personal/ /cygdrive/c/Users/Michael/Documents/Personal_Backup/ 递归复制工作正常,除非我要(右键单击/Properties/Security选项卡)在目标上rsync创建的任何文件夹上;我收到以下弹出消息: {folder

我在Windows7上使用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_访问:值超出范围:ff rsync错误:rsync中的错误 acls.c(690)处的协议数据流(代码12)[接收器=3.0.rsync: 连接意外关闭(到目前为止接收到9个字节)[发送方] rsync error: io.c(610)[发送方=3.0.8]

在任何情况下,我只想正确使用rsync,这样在Windows中查看安全权限时不会出现错误。

Michael

建议您不应使用
--perms
,而应使用
--chmod=ugo=rwX

祝你好运


Dotan

我使用现在不推荐使用的CACL在复制发生后将自己添加回

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
从CACL使用的标志

  /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
一个字

在使用cwRsync时,我使用了完全相同的isues和borked权限,尝试了许多方法,但似乎都不管用,所以我最终放弃了

这是默认的Windows工具,并具有类似的(出于您的目的,相同的)功能集

我昨晚发现了它,并彻底抛弃了rsync。它是为类似unix的系统构建的,所以在Windows上可能会有一些麻烦

这让我开始:

这是我为自己制作的一个小程序,用于将分区镜像到外部驱动器

不要再回头看rsync了