マスター サーバーとスレーブ サーバーを rsync を使用して同期していますが、最近ソース ハード ディスクの空き領域が不足しているため、ソース ファイルを (cp を使用してネイティブ コピー) 新しい大容量ハード ディスクにコピーしました。しかし、ソース ハード ディスクを交換した後、スレーブ サーバーがファイル全体を同期し始めました (すべてのファイルが新しいファイルであると想定されました)。
新しいハードディスクにソースファイルを複製する別の方法はありますか?
答え1
これは、ファイルがコピーされたときにタイムスタンプが変更されたためです。-p
オプションを使用して、タイムスタンプを含むファイル属性を保持できます。man cp
詳細については、を参照してください。
答え2
これは、rsync が変更があったかどうかを確認するために使用するタイムスタンプが原因です。cp はデフォルトでそれらを保存しないため、rsync は、コンテンツの変更はなく、メタデータの変更のみであると判断する前に、各ファイルの内容をチェックサムする必要があります。
答え3
私は とは異なるオプションを選択したでしょうcp
。
rsync
すでに使用しているようです。アーカイブ フラグを使用します。tar
パイプラインで。必要に応じてこれを使用してサーバー間でパイプできますssh
。cpio
私はめったに使用しませんが、ソリューションとは異なり、これを単一のプロセスで処理する必要がありますtar
。