私は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と目的地のスーパー権利で十分ではありませんか?