異なるソースファイルとターゲットファイルシステム間のACLバックアップのrsyncの意味

異なるソースファイルとターゲットファイルシステム間のACLバックアップのrsyncの意味

rsyncd(rsyncのデーモンバージョン)を使用してmacOSからSynologyサーバーにファイルをバックアップするのに問題があります。以下は失敗したコマンドです。

% rsync -rlcAXtgoDiv --fake-super ~/scripts rsync://seamus@SynologyNAS-1/backups/scripts-backup/ > ~/scripts/log.txt 2>&1

エラーは次のとおりです。 (私が作成したログファイルとコマンドラインにあります):

rsync: [sender] write error: Broken pipe (32)
rsync error: error in socket IO (code 10) at io.c(848) [sender=3.2.7]

-Aいくつかの実験を行った後、問題の原因をこのオプションを使用することに絞り込みました。

--acls, -A               preserve ACLs (implies --perms)
--xattrs, -X             preserve extended attributes
--fake-super             store/recover privileged attrs using xattrs

私が理解したように、この--fake-superオプションを使用すると、rsyncACLを必要なく拡張属性として保存できますsudo。しかしman rsync、。

さらなる調査によると、Synologyサーバーはこの行が次に含まれていることを示しました/etc/rsyncd.conf

refuse options = acls

/etc/rsyncd.confだからその行を編集してコメントしましたrefuse options = aclsrsync前のコマンドを再実行すると正常に実行されます。 :)

しかし、ちょっと待ってください。質問があります。

  • rsyncSynologyNAS-1に報告されたバージョンは次のとおりです。
rsync  version 3.1.2  protocol version 31
  • バージョンの違い(Synologyの場合3.1.2、macOSの場合3.2.7)を除いて、SynologyのファイルシステムはbtrfsAPFSほど不透明に見えます!

私の質問は、私が望む正しい(MacOS互換)ACLを実際にバックアップしているのでしょうか?それとも、ただウォッチャーを沈黙させるのでしょうか?これに対するどんな考えでも大歓迎です。

FWIW:実際にはちゃんとバックアップをしているようです。なぜならバックアップを実行すると、rsyncdこれらのエラーは表示されません。rsyncd不要な暗号化手順(すべて私のLANにある)を避けるために切り替えてバックアップを簡素化したいと思います。

関連情報