Top > Linux > ddでBackup


dd コマンドで Backup

ディスクのコピー

  • /dev/ad0 を /dev/ad1 にコピーする。ただし両方のディスクが同容量でなくてはならない
  • ディスクに不良セクタなどがありエラーが発生する場合は、"conv=noerror,sync" オプションを指定することで、
    エラーがあっても処理を続行し、読み取れない部分は値が0(ゼロ)としてコピーを行なう
    # dd if=/dev/sda of=/dev/sdb conv=noerror,sync
  • ブロックサイズを指定してコピーすると早い
    # dd if=/dev/sda of=/dev/sdb bs=8192


フロッピーのコピー

  • FDD の内容をファイルにダンプ
    # dd if=/dev/rfd0 of=fdd.flp
  • フロッピーのイメージファイルを FDD にコピー。OS インストールフロッピー作成時によく使う
    # dd if=kern.flp of=/dev/rfd0


ディスクのバックアップとリストア

バックアップやリストアは、シングルユーザモードに落とすか、デバイスを umount してから行うこと

  • HDD からファイルへのバックアップ
    # dd if=/dev/ad0 of=ad0backup.dump
    
  • リストアは、バックアップのときと if・of を逆にする
    # dd if=ad0backup.dump of=/dev/ad0

データ量が大きいときは gzip で圧縮することもできる。

  • 圧縮しつつバックアップ
    # dd if=/dev/ad0 | gzip -c > ad0backup.dump.gz
  • 伸長しつつリストア
    # gzip -dc < ad0backup.dump.gz | dd of=/dev/ad0
  • ネットワーク越しのバックアップ
    # tar cf - . | rsh remotehost dd of=/dev/テープデバイス名 obs=20b


Tips

どのデバイスがコピー元HDDが分からない時

  • 下記コマンドを実行すると、最終mount時刻などが表示される
    # dumpe2fs -f /dev/sda1

SIGINFO による状態通知

  • 下記コマンドを実行すると、進捗を表示してくれる
    # killall -USR1 dd
    # while true; do killall -USR1 dd; sleep 60; done

データの抹消

  • HDDを処分するときなどには便利
  • 乱数→乱数→ゼロの書き込みであり、「NSA方式」の抹消と一応同じになる。
    # dd if=/dev/urandom of=/dev/fd0
    # dd if=/dev/urandom of=/dev/fd0
    # dd if=/dev/zero of=/dev/fd0

リロード   凍結解除 コピー 名前変更   ホーム 一覧 検索 最終更新 バックアップ リンク元   ヘルプ   最終更新のRSS
Last-modified: Mon, 03 Jun 2019 14:37:49 UTC (1573d)