rsync:パイプからファイルのリストを読む

rsync:パイプからファイルのリストを読む

次のコマンドを使用して/tmp/fileファイルをリモートサーバーに転送できます。rsync

rsync -R -av /tmp/file root@server:/

しかし、パイプするファイルのリストをどのように提供しますか?--files-from=オプションを試しましたが、うまく/dev/stdinいきません。

echo /tmp/file | rsync -R -av --files-from=/dev/stdin root@server:/

(通常のファイルでも機能しません)

たとえば、findの出力を使用できるようにパイプからrsyncを読み取ることはできますか?

ベストアンサー1

rsyncファイルからパス名を読み取る場合でも、ソースパラメータとターゲットパラメータを指定する必要があります。

echo /tmp/file | rsync -av --files-from=- / user@server:/

読み取ったパス名はソースディレクトリrsyncに基づいています。このオプションは使用時に暗黙的であり、指定された標準入力を使用できます。/-R--files-from-

また、見ることができます

findusingrsyncで出力を渡す意図について別の質問をしたい場合があります--from-file。おそらくあなたが望むものを達成するより安全な方法があります。たとえば、-print0withを使用してwithとペアリングできますfind。システムのマニュアルを参照してください。-from0rsyncrsyncfind

おすすめ記事