新規ファイルと変更されたファイルをrsyncする

新規ファイルと変更されたファイルをrsyncする

ディレクトリ内の変更されたファイルや作成されたファイルをすべて転送することは可能ですかrsync? CRC 差分チェックのような高度なものは必要ありません。タイムスタンプやファイル サイズが異なるファイルは変更としてカウントされます。

マニュアルページからそれが可能であるという印象を受けますが、どのようなパラメータセットを渡すかについて少しガイダンスが必要ですrsync

答え1

2 つのディレクトリだけを同期するには:

$ rsync /source/path/* /dest/path/

または、ツリー全体を実行する場合:

$ rsync -a /source/path/ /dest/path/

「-a」は「アーカイブ」モードを指定し、ツリーを可能な限り正確に複製します。

フラグを追加しvて、P動作を確認できるようにしたいです。

$rsync -avP /source/path/ /dest/path/

「-v」は詳細モードをオンにして、実行内容を確認できるようにします (コピー時にファイルをリストします)。また、「-P」は進行状況を有効にするので、各ファイルのコピーにどのくらいの時間がかかっているか (コピーされた割合、残り時間など) を確認でき、コピーの進行状況も確認できます。

答え2

これはデフォルトで動作する方法ですrsync(少なくともLinuxでは)。マニュアルページ:

rsync は、サイズまたは最終更新時刻が変更されたファイルを検索する「クイック チェック」アルゴリズム (デフォルト) を使用して、転送する必要があるファイルを検索します。クイック チェックでファイルのデータを更新する必要がないことが示された場合、その他の保存属性 (オプションで要求される) の変更は、宛先ファイルに直接行われます。

関連情報