2017-05-05 3 views
0

私はSSH経由で2台のマシン間でrsyncを実行しようとしています(source:macOS 10.11.6 - > Dest:macOS 10.12.4)。 mac固有の属性、およびアクセス権と所有権。sudoとして実行されたrsyncがファイルの所有権を保持していない

patch、fileflags、crtimes、およびhfs-compressionを使用して、両方のマシンで最新のrsync(3.1.2)をソースからビルドしてインストールしました。

私は、先のマシンの/ etc/sudoersファイルを修正し、追加しました: ユーザ名ALL =(ALL)NOPASSWD:ALL とsudoを使用したとき、私はパスワードの入力を求めていないよ、これは正常に動作するようですが。ファイルは、POSIXの所有者を持っていることを「

rsync -avNHAXEx --safe-links --fileflags --protect-decmpfs --force-change -- progress --delete --rsync-path="sudo /usr/local/bin/rsync" --progress /path/to/src [email protected]_of_dest:/path/to/dst 

結果を正しい同期脇から: は(私は私だけrsyncコマンドにこれを制限することができます知っているが、デバッグ中に私はすべてここに使用しています)実行

宛先マシンの元の所​​有者ではなくssh_userを使用します。

簡単

rsync -av --rsync-path="sudo /usr/local/bin/rsync" /path/to/src [email protected]_of_dest:/path/to/dst 

も所有権を変更し、rsyncのは、宛先マシン上の須藤で実行プル同じ結果を与えます。

ここで私は何が不足していますか? -aと目的地のスーパー権利で十分ではありませんか?

答えて

0

誰かが私はこの答えを見つけたと思うより多くのデバッグ後似たような経験

を持っている場合の将来の参考として持っているために、これを答えます。 rsyncが期待どおりに動作していれば、問題はssh_userとfile_ownerが実際に同じUIDを持っていたことです。宛先マシンのファイルをリスト表示すると、ssh_userに属していることがわかっているこれらのファイルとして私を真剣に混乱させました。 --numeric-idsを使用してファイルを元のマシンに復元すると、予期した結果が得られます。

関連する問題