修正時間に基づく rsync

修正時間に基づく rsync

私はrsyncを使用していますrsync $source $destination。修正時間に基づいて再同期する方法は?ファイルサイズのオプションは表示されますが、--size-only変更時間は表示されませんか?

答え1

あなたの質問を正しく理解していますか? 「修正時間」rsyncは、レプリカを更新する必要があるかどうかを決定する基本基準の1つです。

~からman rsync

Rsyncは、サイズまたは最後の変更時間が変更されたファイルを検索する「クイックチェック」アルゴリズム(デフォルト)を使用して、転送する必要があるファイルを見つけます。クイックスキャン結果ファイルのデータを更新する必要がないことが表示された場合は、他の保持された属性(オプションで要求されているように)に対するすべての変更がターゲットファイルに直接適用されます。

答え2

最も簡単な方法は、次のコマンドを実行することです。

rsync -an /path/to/source /path/to/destination

次に、必要なファイルのみが転送されていることを確認してください。これを確認した後、-nフラグなしで上記のコマンドを実行すると、目標を達成できます。ユーザーroaimaが指摘したように、目標を達成するための別のフラグがあります-t。このフラグを使用することは、使用に関するすべての情報を読むのと-a同じです -rlptgoDrsyncここ

別の方法は、次のコマンドを使用することです。この回答:

 find /path/to/source -file -mtime +3 -exec rsync {} /path/to/destination \;

したがって、これを使用して、find特定の日付の3日前に変更された日付を含む$SOURCEすべてのファイルを見つけることができます。-mtime +3希望の日数に変更できます。提供されたすべてのファイルを識別したら、必要なオプションを使用$SOURCEして。rsync$DESTINATION

関連情報