rsync:リモートホストから--exclude-fromファイルを抽出する方法は?

rsync:リモートホストから--exclude-fromファイルを抽出する方法は?

次のコマンドを使用して(または使用しようとして)ネットワーク経由で自動rsyncを設定しています。

 rsync -e ssh -avhxAXHr --rsync-path="sudo rsync" --exclude-from=:$EXCLUDEFILE --link-dest=$LINKDEST --files-from=:$SOURCES backupuser@${RMTHST}:/ $DESTDIR

コピーできる内容をソースホストが担当することを望みます。これを行うには、ソースホストでbackupuserのsudoエントリをロックしました。持つ--files-fromソースホストからファイルをインポートします。 sudoersのエントリは次のとおりです。

backupuser ALL(root:root) /usr/bin/rsync --server --sender -vlHogDtpAXrRxe.iLs --files-from /securepath/from-file . /

rsync のマニュアルページには次のように記載されています。

...the --files-from file can be read from  the  remote host instead of the
local host if you specify a "host:" in front of the file (the host must
match one end of the transfer).  As a short-cut, you can specify just a
prefix of ":" to mean "use the remote end of the transfer". For example:

   rsync -a --files-from=:/path/file-list src:/ /tmp/copy

--files-fromこのファイルをソースホストで維持する予定であるため、--exclude-fromソースホストでもこのファイルを維持する必要があります。ただし、rsync のマニュアルページにはリモートホストからファイルを抽出する方法が記載されておらず、 --exclude-from--files-from と同様の形式を使用するとテストに失敗しました。これはセキュリティの観点から大きな問題ではありませんが、複数のサーバーを処理するときに同じ場所に2つのファイルを維持できない場合は、管理上の面倒になる可能性があります。

私は何を逃したことがありませんか? rsyncがリモートサーバーから両方のファイルをインポートできるようにする方法はありますか?

ベストアンサー1

すでにリモートでsudoを使用していて、リモートでアクセスされる項目も制御する場合は、rsyncをデーモンとして使用することも検討する必要があります。バラより手動rsyncd.conf

これは、表示するファイル、データフローの方向(読み取り専用など)、サービスの有効期限などを制御できるステートメントを開くことができることを意味します。 sudoは不要で、ログインを許可されているユーザーを制限できます。

/etc/rsyncd.conf特に除外ファイルを指定できます。

 exclude from = somefilename

おすすめ記事