それマグで!

知識はカップより、マグでゆっくり頂きます。 takuya_1stのブログ

習慣に早くから配慮した者は、 おそらく人生の実りも大きい。

ddrescue は レジューム機能がある 。途中で再起動しても大丈夫

ddrescue コマンドを実行中に再起動しちゃった。

macOS で dd / ddrescue するとすごく時間がかかるので、バックグラウンドで流してて、1日近く経過してた、ddrescue 実行中を忘れて再起動してしまいました。悲しい

レジューム機能がある。

悲しいので、こういう悲劇が二度と見たくない。未然に防止する方法を調べたら、ddrescue には「転送再開」のレジューム機能があります。やったね。

takuya@Downloads$ ddrescue -h  | grep map
5:Always use a mapfile unless you know you won't need it. Without a
6:mapfile, ddrescue can't resume a rescue, only reinitiate it.
7:NOTE: In versions of ddrescue prior to 1.20 the mapfile was called

使い方:ログファイル(mapファイル)の指定

ddrescue には第3の引数があります。あるんです。

ddrescue $IN  $OUT  $MAP

mapファイルを使う

次のように第3の引数を指定して実行する。

ddrescue /dev/input out.img 2020-01-10.dd.map

そのあと CTRL-C や 再起動/kill などでプロセスを中止する。

ddrescue /dev/input out.img 2020-01-10.dd.map
^C

再開するのは、同じ「ファイル名」を第3の引数にいれて 起動する

ddrescue /dev/input out.img 2020-01-10.dd.map

map ファイルがあれば再開するようだ。

ddrescuelog というコマンドもある。

ddrescue で作成したmap フィアルの状況を表示することができる。これも便利。

結論:レジューム機能を使うには

ddrescue 自体に3番めのファイルとしてログファイルを指定する。

参考

  • man ddrescue
  • man ddrescuelog