########################################################## # hdup FAQ # ##########################################################Questions:
hdupは以下の環境で(警告なしで)コンパイルでき, 利用できます:
設定ファイルはデフォルトではインストールされません. hdup.confを /etc/hdup/hdup.confにコピーし, 環境にあわせて設定を直す必要がありま す.
ディレクトリexample/に設定例があります.
$ cvs -z3 -d:pserver:anonymous@elektron.atoom.net:/var/cvs co hdup16
これにより'hdup16'ディレクトリが作成され, その中に最新版のファイル が格納されます. このディレクトリで'make'を実行することで最新のバイ ナリが作成されます. 1.6.8以降, すべてのリリースにはタグがつけられて います. 1.6.8はhdup_1_6_8, .9はhdup_1_6_9のように命名されています.
最新の安定版はwww.miek.nl/projects/hdup/hdup.htmlにあります.
まとめ:
完全バックアップ - hdup monthly hostname
第1レベルダンプ - hdup weekly hostname
第2レベルダンプ - hdup daily hostname
$ hdup restore ホスト名 日付 対象
ただし
ホスト名 - レストアしたいマシン名
日付 - 指定日の状態が完全に復元される
対象 - 指定ディレクトリにアーカイブが展開される
$ hdup -s /home/miekg/lostfile restore ホスト名 日付 対象
注意:
レストアするファイルはフルパスを指定する必要があります. たとえば,
'motd'だけを指定した場合, アーカイブから特定のファイルをレストアし
ている時にはGNU tarはアーカイブ内の一致するファイルを探せません.
'-s /etc/motd'のように指定する必要があります.
キーチェーンはリモートマシンがリブートすると壊れますが, 空のパスフ レーズは不要です.
$ ssh-keygen
ステップ2.
identityファイル: id_dsa.pub の内容をコピー
リモートホストにて:
id_dsa.pubの内容を~user/.ssh/authorized_keysに置く.
この'user'はアーカイブがsshにより置かれるホストでのユーザ名です. こ の後は:
$ hdup monthly localhost @user@remotehost
注意: これは安全なテクニックではありません. 可能な限り第1の方法を使 いましょう.
from="IP ADDRESS",command="/usr/local/bin/hdup -c /etc/hdup.conf remote HOST", no-port-forwarding,no-agent-forwarding,no-X11-forwarding ssh-rsa AAAAB3NzcC1y.....
あなたのキーが認められれば, 'hdup'を実行するだけでよくなります.
dir = /home/miekg include = *.txt, *.doc
これにより/home/miekg以下で*.txtか*.docに該当するファイルすべてをバッ クアップします. 'tar_patch'を指定すると, このオプションを与えたとき だけ完全ダンプを作成します. バックアップすべきファイルの一覧を作成 するために'find'を使います. バックアップは2段階の過程を経て作られま す: 第1にバックアップするファイルを見付け, 第2にバックアップを実行 します.
[localhost] remote hdup = /usr/local/bin/hdup remote hdup option = -c /usr/local/etc/hdup.conf
[localhost] allow remote = yes
$ hdup monthly localhost @user@remotehost
レストアは次のようにして実行できます:
$ hdup restore localhost 2003-03-2003 /tmp/a @user@remotehost
どのようなスキームであろうとも常に実行されます. スクリプトで何をす べきかを判断させるのがベストでしょう. つまり, 'prerun = script %s' と指定し, シェルスクリプトを以下のようにします:
#!/bin/sh if [ "$1" == "restore" ]; then exit 1; fi echo "rest of the script here"
この問題が発生した場合, バージョン1.13.25のtarにアップグレードしま しょう. [Petr DivinaによりSolarisで検証されました]
分割アーカイブのチャンクは"__split_XX"という拡張子がつけられます. こ こでXは文字で置き換えられます. 最初のアーカイブには"__split_aa", 2番 目のアーカイブには"__split_ab"が付加され, 最後には"__split_zz"がつけ られます. 合計で 26 * 26 = 676 チャンクまで対応しています.
mcrypt --list ... rijndael-192 (32): cbc cfb ctr ecb ncfb nofb ofb saferplus (32): cbc cfb ctr ecb ncfb nofb ofb saferplus (32): cbc cfb ctr ecb ncfb nofb ofb wake (32): stream wake (32): stream blowfish-compat (56): cbc cfb ctr ecb ncfb nofb ofb ...
cat > my_secret_key this is a very secret key ^D
[myhost] algoritm = rijndael-192
key = /path/to/my/key/my_secret_key
註:
暗号化がローカルな操作であることに気がついたでしょう. 暗号化されたリ
モートのアーカイブはローカルに生成されてからリモートホストに転送され
るのです. レストアはその逆の手順を踏みます: 暗号化されたアーカイブが
直接クライアントに送られ, レストア中に平文化されます. この方法の利点
はリモートマシンにいる人々にアーカイブの内容を見られずに済むというこ
とです. 一方で欠点としては秘密鍵をどこか安全な場所に保管しておく必要
があることです(バックアップしている機械に置きっぱなしにしているとクラッ
シュしたときに復元できなくなります).
もしくは, hdupの設定ファイル中で'no history = yes'と設定することもで
きます. これにより全てのアーカイブで単一のディレクトリかつ同じ名前を
使うことになります. アーカイブは次のようになります:
static/hostname.monthly.static.tar.gz.
このように, 新しいバックアップは古いバックアップに上書きされることに
なり, マシンのスペースが節約できます.
このオプションを使うときは注意しましょう!バックアップが失敗 したとき, (上書きされた)古いバックアップも(書きこみに失敗した)新しい バックアップもなくなってしまいます! example/にバックアップ後にアーカ イブを安全な場所にコピーする小さな実行後スクリプト (no-history-post-run.sh)がありますので参照してください. 自分が何をし ているのか分かっている場合のみこのオプションを使うようにしましょう.
hdup 2> bla
最新情報: バージョン1.6.14と同様, 再び概要が標準出力に送られるよ うになりました. しかし全てのエラーメッセージはまだ標準エラーに送られ ています.
cat hostname.monthly.* | tar tvfz -
/usr/local/sbin/hdup: www: STARTING BACKUP. /usr/bin/tar: can't add file --files-from : No such file or directory /usr/bin/tar: Removing leading / from absolute path names in the archive. /usr/bin/tar: can't add file --listed-incremental : No such file or directory /usr/bin/tar: can't add file /backup/www/etc/inclist.monthly : No such file or directory /usr/bin/tar: can't add file --exclude-from : No such file or directory /usr/bin/tar: can't add file --ignore-failed-read : No such file or directoryあなたのtarがGNU版でないか, バージョンが古すぎます. GNU tarバージョン 1.3.25以降にバージョンを上げてください.
wget http://www.miek.nl/projects/hdup16/previous/hdup-1.6.XX.tar.gz rpm -tb --clean hdup-1.6.XX.tar.gz rpm -Uvh /usr/src/redhat/RPMS/i386/hdup-1.6.XX-1.i386.rpmXXはhdupリリースバージョンです.