ddコマンド実行途中に、何バイトコピーできたかを見る方法
公開日
更新日
知り合いと話していた際に、「ddコマンドでディスクをコピーしているとき、scpのようにプログレスバーが表示できたらいいのに」という話を聞きました。
意外と知られていないのですが、USR1シグナルを送ることで途中経過を表示させることが可能です。
[root@wwwxxxxu ~]# dd if=/dev/zero of=/dev/null & [1] 31092 [root@wwwxxxxu ~]# kill -USR1 31092 7764899+0 records in 7764898+0 records out 3975627776 bytes (4.0 GB) copied, 6.02001 seconds, 660 MB/s [root@wwwxxxxu ~]# kill -USR1 31092 25123042+0 records in 25123041+0 records out 12862996992 bytes (13 GB) copied, 17.8137 seconds, 722 MB/s [root@wwwxxxxu ~]# kill -USR1 31092 43986419+0 records in 43986418+0 records out 22521046016 bytes (23 GB) copied, 31.3739 seconds, 718 MB/s [root@wwwxxxxu ~]# kill 31092 [1]+ Terminated dd if=/dev/zero of=/dev/null [root@wwwxxxxu ~]#
ddを利用する際は大きなファイルのことが多いので、途中で経過が見えるだけでもストレスが減るのではないでしょうか。
ちなみに私は、上記の出力を元にプログレスバーを表示するスクリプトを作りました。
※このナレッジは、「さくらインターネット創業日記」に2010年12月9日に執筆した記事から転載しました。