6

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 エラー: acls.c(690) での rsync プロトコル データ ストリーム (コード 12) のエラー [Receiver=3.0. rsync: 接続が予期せず閉じられました (これまでに受信した 9 バイト) [送信者] rsync エラー: io.c(610) での rsync プロトコル データ ストリーム (コード 12) のエラー [送信者 = 3.0.8]

いずれにせよ、rsync を正しく使用して、Windows でセキュリティ アクセス許可を表示してもエラーが発生しないようにしたいだけです。

4

3 に答える 3

2

マイケル、

この解決策--permsは、を使用するのではなく、代わりに使用することを示唆しています--chmod=ugo=rwX

幸運を!

ドタン

于 2011-07-12T04:40:32.613 に答える
0

コピーが行われた後、廃止された 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
于 2013-12-09T23:05:03.650 に答える