24時間以内にディレクトリ内のすべてのファイルを見つけて、それを他のサーバーと同期したいと思います。
転送したくない古いファイルがありますが、古いファイルが最新のファイルであれば転送します。
findおよび-ctimeパラメータを使用して出力をファイルにリダイレクトするスクリプトを作成しようとしていますが、rsyncを効率的に使用する方法や一連のファイルを転送するより良い方法があるかどうかわかりません。数時間以内に変更された過去24ファイル。
このプロセスは非常に頻繁に実行する必要があるため、あまりにも非効率的なものを探したくありません。 (例:ftpを使用し、毎回すべてを送信します)。
どんなアイデアにも感謝します。
ベストアンサー1
この試み:
cd /some/dir && rsync -av --files-from=<(find . -mtime 0 -printf "%p\n") <other stuff>
それを使うプロセスの交換 <( )
コマンドを名前付きfifoに置き換え、同期に含めるコンテンツとして読み取るfind
fifoの名前を指定します。rsync
修正する
Kyleの答えによると、両方が機能しますが、明らかにより--files-from
適切です。--include-from
答えが更新されました。