LoginSignup
78

More than 5 years have passed since last update.

ddの進捗を確認

Last updated at Posted at 2013-08-05

gz圧縮しながらbackup

gz圧縮しながらbackup
dd if=/dev/sda | gzip -c  > sda_dd.gz
gz圧縮からリストア
gzip -dc < mmcblk0.img.gz | dd of=/dev/mmcblk0

gz圧縮しながらbackup (2GBに分割)

バックアップ
dd if=/dev/sda | gzip -c | split -b 2000m - sda_gz.
リストア
cat sda_gz.* | gzip -dc | dd of=/dev/hda

lzop圧縮しながらbackup (2GBに分割)

lzop圧縮しながらbackup
dd if=/dev/sda | lzop -c | split -b 2000m - sda_lzop.
lzop圧縮からリストア
cat sda_lzop.* | lzop -dc | dd of=/dev/hda

無圧縮

backup
dd if=/dev/sda of=sda_dd.dump
2GBの分割しながらbackup
dd if=/dev/sda  | split -b 2000m - sda_dd.
restore
cat sda_dd.* | dd of=/dev/sda

進捗を確認

  • macは非対応(pkillするとddが終了する)
ddにUSR1シグナルを送る
$ sudo pkill -USR1 dd

もしくは

# watch -n 60 pkill -USR1 dd
ddが進捗を教えてくれる
7331997+0 レコード入力
7331997+0 レコード出力
3753982464 バイト (3.8 GB) コピーされました、 47.4967 秒、 79.0 MB/秒
9861058+0 レコード入力
9861058+0 レコード出力
5048861696 バイト (5.0 GB) コピーされました、 63.5013 秒、 79.5 MB/秒
10405480+0 レコード入力
10405480+0 レコード出力
5327605760 バイト (5.3 GB) コピーされました、 65.1653 秒、 81.8 MB/秒

自分の経験では1GB/分程度。
定期的に送るにはwatch使うと簡単。

60秒間隔で実行
% watch -n 60 "pkill -USR1 dd"

ddで作成したイメージをマウント

$ fdisk -u -l sda_dd.dump

ディスク sda_dd.dump: 4012 MB, 4012900352 バイト
ヘッド 255, セクタ 63, シリンダ 487, 合計 7837696 セクタ
Units = セクタ数 of 1 * 512 = 512 バイト
セクタサイズ (論理 / 物理): 512 バイト / 512 バイト
I/O サイズ (最小 / 推奨): 512 バイト / 512 バイト
ディスク識別子: 0x00014d35

デバイス ブート 始点 終点 ブロック Id システム
sda_dd.dump1 8192 122879 57344 83 Linux
sda_dd.dump2 122880 7774207 3825664 83 Linux
offsetを指定する
$ sudo mount -o loop,offset=$((512*122880)) sda_dd.dump /mnt
エラーをスキップする場合
$ sudo dd if=/dev/sdd of=sdd.img bs=512 conv=noerror,sync

bsは読み取りエラーが発生した時スキップするサイズ。

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
78