Tips記事
» 2000年11月22日 00時00分 UPDATE

ファイルのバックアップをしたい

[木田佳克,ITmedia]

 万が一のハードディスククラッシュに備え,大切なファイルはバックアップしておこう。代表的なバックアップ方法には次のようなものがある。それぞれの目的に応じて使い分けよう。

 UNIXではデバイス名を指定してファイルシステムを丸ごと1つのイメージファイルとして保存することができる。この方法であれば,OSの起動環境そのものもバックアップしておくことが可能だ。万が一の時でも短時間で復旧できるメリットがある。

 イメージバックアップを行うためには,まず最初にファイルシステムを停止状態にさせておく必要がある。通常のランレベル3以上の動作では,いろいろなファイルが読み書きされているためバックアップできないファイルがあるからだ。この手順は,「ルート「/」パーティションをディスクチェックしたい」で紹介した手順と同じであり,init 1(ランレベル1)に移行してからバックアップを行う。

・tarによるバックアップ
 tarコマンドで注意しなければならないのは,ファイルの属性情報を保持するかどうかである。次のようにオプション指定すれば問題ないだろう。

バックアップ
# tar cpzf /tmp/backup.tar.gz /home/hogehoge
※/home/hogehoge下のファイルをtar.gz圧縮フォーマットで/tmp/にbackup.tar.gzというファイル名で保存

リストア
# cd /
# tar xpzf /tmp/backup.tar.gz

■tarの代表的なオプション
c:圧縮
x:解凍
t:実行時にファイル名を表示
v:詳しい情報を表示
f:ファイルに出力
z:gzip圧縮を併用する

・ddによるバックアップ
 ddコマンドの使い方は次の通りだ。ddに続き,「if=」でバックアップ元のデバイス名,そしてバックアップ先のファイル名を「of=」の次に指定する。ここでは/dev/hda1のパーティションを,現在ログイン中のホームディレクトリにhda1.imgというファイルで作成している。

$dd if=/dev/hda1 of=~/hda1.img

 復元する際には,「if=」と「of=」指定を逆にすればよい。

#dd if=~/hda1.img of=/dev/hda1

 次のように指定すれば,同一容量のハードディスクに限られるものの,手軽に/dev/hdaのクローンを/dev/hdbのディスクに作成することができる。

#dd if=/dev/hda of=/dev/hdb

Copyright © ITmedia, Inc. All Rights Reserved.