ddの進行状況を調べる方法
ハードディスクを丸ごとコピーしたり、イメージごとバックアップする時に使うddコマンド。
意外と知られていなかったりするのですが、進行状況を調べる方法があります。
ddコマンドのプロセスにUSR1シグナルを送るだけで、どのぐらい進んでいるのか途中経過を知ることが可能です。
$ dd if=/dev/zero of=/dev/null& pid=$! $ watch -n 10 kill -USR1 $pid Every 10.0s: kill -USR1 1414 86584673+0 records in 86584673+0 records out 44331352576 bytes (44 GB) copied, 1823.09 seconds, 24.3 MB/s
偉そうに書いていますが、実はdd --helpを読めば書いています。
$ dd --help 中略 Sending a USR1 signal to a running `dd' process makes it print I/O statistics to standard error and then resume copying. $ dd if=/dev/zero of=/dev/null& pid=$! $ kill -USR1 $pid; sleep 1; kill $pid 18335302+0 records in 18335302+0 records out 9387674624 bytes (9.4 GB) copied, 34.6279 seconds, 271 MB/s
以上、意外と知られていないんじゃなくて、意外とhelpが読まれていないんだなというお話でした。