ufsdumpとufsrestoreのメモ
環境は Solaris 9 です。
ざっくりメモなので、間違ってたりするかもしれません。気付いたら都度書き加えたり、修正していく予定です。
フルバックアップをとる
テープを巻き戻してフルバックアップをとる
# mt -f /dev/rmt/0 rewind # ufsdump 0ucf /dev/rmt/0n /dev/rdsk/c0t0d0s0
オプションの意味
0 | 完全バックアップ(差分などする場合、1-9を指定) |
u | /etc/dumpdatesを更新する |
c | カートリッジテープにバックアップを作成 |
f | 出力先を指定 |
※/etc/dumpdatesは以下のようなファイル。「0」はバックアップレベル
# cat /etc/dumpdate /dev/rdsk/c0t0d0s0 0 Tue Mar 10 11:17:23 2009 /dev/rdsk/c0t0d0s1 0 Tue Mar 10 11:17:23 2009
対話的にリストアする
対話モードでよく使っているコマンド
ls | ファイル・ディレクトリの表示 |
pwd | 媒体のカレントディレクトリの絶対パスの表示 |
add | 抽出リストへ追加 |
delete | 抽出リストから削除 |
extract | 抽出リストから抽出実行 |
quit | 終了(抽出リストが空でなくてもすぐに終了) |
help | ヘルプの表示 |
リストア手順の例
/tmpに移動
# cd /tmp
テープの巻き戻して、
# mt -f /dev/rmt/0n rewind
ufsrestoreを対話的に起動。プロンプトが表示される。
# ufsrestore if /dev/rmt/0 ufsrestore >
ls、cdとか使って目的のファイルを見つける。(今回は hoge.txt)
ufsrestore > pwd / ufsrestore > ls .: backup/ lost+found/ ufsrestore > cd backup ufsrestore > pwd /backup ufsrestore > ls ./backup: hoge.txt
hoge.txtを抽出リストへ登録(*印が付く)
ufsrestore > add hoge.txt ufsrestore > ls *hoge.txt
※ add を実行した時点でディレクトリが作成されるみたいで、今回の例だと、add した時点で「/tmp/backup」が作成されます。ちなみに、verbose modeにすると、add したとき
Make node ./backup
と表示される。
hoge.txtを抽出リストから削除(*印が消える)
ufsrestore > delete hoge.txt ufsrestore > ls hoge.txt
再度追加
ufsrestore > add hoge.txt ufsrestore > ls *hoge.txt
verbose mode(冗長モード)にする。extractしたときに、抽出するファイル名を表示したり
してくれる。
ufsrestore > verbose verbose mode on
extractを実行し、抽出リストから抽出。extractを実行するとボリュームの指定を聞かれる。これがまだ良くわからないけど「1」を指定すれと良いらしい。その次にオーナーと、モードをセットしますかと聞かれるので必要なら「y」と答える。
ufsrestore > add hoge.txt ufsrestore > ls *hoge.txt ufsrestore > extract You have not read any volumes yet. Unless you know which volume your file(s) are on you should start with the last volume and work towards the first. Specify next volume #: 1 extract file ./backup/hoge.txt Add links set owner/mode for '.'? [yn] n
権限がないとき?(rootの所有物を一般ユーザで復元しようとしたときとか?)は
以下のメッセージが表示される。
Unable to restore ownership of ./backup/hoge.txt: Not owner Additional such failures will be ignored. set owner/mode for '.'? [yn] n
quitで終了。ファイルを確認。
ufsrestore > quit # ls backup # cd backup # ls hoge.txt