さまざまなサイズの何千ものファイルを同期しようとしていますが、ファイルの1:1コピーが必要です。これは、すでに存在するファイルの整合性をチェックし、チェックサムが間違っている場合はファイルを上書きする必要があることを意味します。部分的な転送失敗のため、この時点でいわゆる増分転送が必要です。
明らかに、私のインストールは少し不安定であり、cp
300-400GBを使用または転送した後に失敗しますrsync
。
その前に、私は次のことをしました。
- ストレージをインストールしましたが、インストールが中断され、
cp -r src dest
エラーが発生し、約300 GB後に失敗しました(明らかにエラーは発生しません)。 - 再度ストレージをマウントしてみましたが、またマウントが失敗して
rsync -aP src dest
400GBほど過ぎて失敗しました。rsync error: some files/attrs were not transferred (see previous errors) (code 23) at main.c(1338) [sender=3.2.7]
ファイルサイズを考慮すると、ほとんどのファイルを上書きできます。 - カーネルログを確認しましたが、何も見つかりませんでした(
sudo dmesg
)。
私はマウントの再接続フラグを見つけましたが、すぐには実行されません。
- チェックサムを計算するためのrsyncというフラグがありますが、
-c
デルタ転送と呼ばれることもありますか、それ以上のフラグを追加する必要がありますか?
この問題をどのように最適に解決できますか?
アップデート1
間違っている場合は訂正してください。現在の問題は、ストアの所有者とグループがrsyncのユーザーとグループと異なるということです。詳細な説明:cp -r
ファイルをコピーし、所有権とグループ所有権をユーザーのコピーに変更しました。 ..
ベストアンサー1
2つのローカルファイルシステム間でコピーするようです。その場合、rsync
対応するチェックサム方式は使用されず、元の状態に戻りますcp
。
ルートとして実行している場合cp
とすべての所有者/グループを維持します。rsync
それ以外の場合、ターゲットファイルはコピーを実行するアカウントの所有者と(デフォルト)グループを想定します。
元のタイムスタンプをコピーした場合は、ファイルサイズとタイムスタンプのみを確認し、cp
それrsync
を使用して、欠落しているメタデータを更新するか、ファイル全体を再コピーするかを決定できます。
rsync -rt src/ dst # Timestamps only
rsync -a src/ dst # Almost all metadata
一部のファイルシステムはメタデータを保存しない場合があります。または、rootとして実行されていない可能性があります。このような場合は、拡張プロパティに各ファイルとともにメタデータを保存できます。-X
ここに以下を追加できます。
rsync -aX src/ dst # Almost all metadata