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