100GiBのファイルをミラーリングしました。私の画像でいくつかのタイムスタンプとファイル権限が間違っている可能性があります。この問題を解決するためにrsyncを使用したいと思います。
私がダウンロードしたサーバーには100GiBを超えるファイルがありました。私のミラーはいくつかのファイルをミラーリングします。各ソースディレクトリから。ディレクトリ全体をミラーリングしません。
100GiBを再ダウンロードせずにタイムスタンプとファイル権限を変更するようにrsyncにどのように指示しますか?
ちなみに今試していますrsync -av --list-only HOST::MODULE >/tmp/list.txt
。このデータを取得した後、より良い答えを伝える人がいない場合は、データに基づいて各ファイルに触れるスクリプトを作成します。
しかし、仕事をよりきれいに処理する方法はありませんか?
(持っているこの問題しかし、私のニーズに答えていないようです。 )
答え1
ソースと宛先が異なるシステム上にあり、rsync
クライアントがあらゆる種類のサーバーと通信している場合、rsync
データコンテンツを送信せずに権限とタイムスタンプが更新されます。たとえば、
rsync -avP --existing server:/path/to/source /path/to/target
rsync -avP --existing server::module /path/to/target
一方、rsync
NFSを介してサーバー上のファイルシステムにアクセスできる場合など、ソースとターゲットが同じプロセスによって管理されている場合、どちらの場合もデータが同じであることを確認する効率的な方法はありません。ショートカットをアップロードするには、権限とタイムスタンプが変更されたデータをもう一度コピーしてください。たとえば、
rsync -avP --existing /path/to/server/source /path/to/target
第二の状況に直面し、次のような場合絶対に確信ファイルの内容が同じ場合、rsync
「クイックチェック」が失敗しても内容が同じであると仮定し、権限とタイムスタンプのみを更新する回避策があります。
rsync -avP --existing --size-only /path/to/server/source /path/to/target
この--existing
フラグを使用すると、ターゲットの場所に新しいファイルは生成されませんが、既存のファイルは適切に更新されます。この--size-only
フラグはrsync
タイムスタンプを強制的に無視します。