ファイルが24年未満の2つのフォルダ間でファイルを繰り返し同期します。

ファイルが24年未満の2つのフォルダ間でファイルを繰り返し同期します。

24時間以内にディレクトリ内のすべてのファイルを見つけて、それを他のサーバーと同期したいと思います。

転送したくない古いファイルがありますが、古いファイルが最新のファイルであれば転送します。

findおよび-ctimeパラメータを使用して出力をファイルにリダイレクトするスクリプトを作成しようとしていますが、rsyncを効率的に使用する方法や一連のファイルを転送するより良い方法があるかどうかわかりません。数時間以内に変更された過去24ファイル。

このプロセスは非常に頻繁に実行する必要があるため、あまりにも非効率的なものを探したくありません。 (例:ftpを使用し、毎回すべてを送信します)。

どんなアイデアにも感謝します。

ベストアンサー1

この試み:

cd /some/dir && rsync -av --files-from=<(find . -mtime 0 -printf "%p\n") <other stuff>

それを使うプロセスの交換 <( )コマンドを名前付きfifoに置き換え、同期に含めるコンテンツとして読み取るfindfifoの名前を指定します。rsync

修正する

Kyleの答えによると、両方が機能しますが、明らかにより--files-from適切です。--include-from答えが更新されました。

おすすめ記事