中断されたコピープロセスの再開

中断されたコピープロセスの再開

$Aファイルをバックアップ場所にコピーするために使用されたプロセスまたは完了したプロセスを安全に復元する方法は?$Bpv "$A" > "$B"cat "$A" > "$B"

$A(LVM2スナップショットファイルのようにファイル容量が大きいと仮定)

それは達成することができるかdd

優先:bashまたはpython(好ましくはpython3)ソリューション。

例のシナリオ:pv "$A" > "$B"90%後にコピーが中断されます。ジョブ全体を再度繰り返すことなくコピー処理が完了するように復元するにはどうすればよいですか?

ベストアンサー1

はい、ddを使用してブロックをスキップできます。

A="file1"
B="file2"

BLOCKSIZE=512  # default bs for dd

size_b=$(stat -c "%s" "$B")
skip_blocks=$((size_b / BLOCKSIZE))

dd if="$A" of="$B" skip=$skip_blocks seek=$skip_blocks bs=$BLOCKSIZE

ここで重要なパラメータはskip次のとおりですseek

  • skip:ブロックをスキップIBSサイズ起動時にブロック入力する
  • seek:ブロックをスキップobsサイズ起動時にブロック出力

おすすめ記事