Amanda

家で使っているDebian GNU/LinuxとNetBSDで統合してバックアップを扱う方法を考えていたんだけど、Amandaが便利そうなので採用。
マシン構成
DDS2のついたDebian一台
NetBSD二台

Amandaサーバは当然DDS2のついたやつになる。
まずはこのマシン自体のバックアップをAmandaで取れるようにしてみたい。
Debianパッケージamanda-{client,common,server}をインストールしたところ/etc/inetd.confには次の設定が追加されていた。

amanda dgram udp wait backup /usr/sbin/tcpd /usr/lib/amanda/amandad
amandaidx stream tcp nowait backup /usr/sbin/tcpd /usr/lib/amanda/amindexd
amidxtape stream tcp nowait backup /usr/sbin/tcpd /usr/lib/amanda/amidxtaped

listenしてるか確認
# netstat -a | grep :am
tcp        0      0 *:amidxtape             *:*	LISTEN
tcp        0      0 *:amandaidx             *:*	LISTEN
udp        0      0 *:amanda                *:*

/usr/share/doc/amanda-server を読んだところでは

1. 次のセットアップファイルを修正
/etc/amanda/DailySet1/amanda.conf
/etc/amanda/DailySet1/disklist
/etc/amanda/crontab.amanda
2. holding diskのディレクトリのオーナーを調整
chown -R backup:backup /holding
3. crontabの登録
crontab -u backup /etc/amanda/crontab.amanda

/var/backups/.amandahosts に必要なホストとユーザーを追加

が必要というこらしい。

一応 /holdingdisk 自体をdumpしないようにする。
chattr -R +d /holding
lsattr -Rd /holding

テープにラベル付け。これでラベル情報がテープに書きこまれるのです。
/usr/sbin/amlabel DailySet1 amanda01

ラベルが上手く書けなかったりしてどうにもならんときは。こうだ。
/bin/mt erase
この後 amlabel します。

これでDebian上では動くようになった。


次はNetBSDのバックアップも取ってみよう。

pkgsrc から sysutils/amanda-client をinstall

# vi /usr/guest/backup/.amandahosts
# chown backup .amandahosts
# chmod go-r .amandahosts
# ls -l .amandahosts
-rw-------  1 backup  staff  26 Oct 20 06:22 .amandahosts

operatorグループにbackupを追加
# vi /etc/group

/etc/inetd.confに追加。inetdに kill -HUP
amanda dgram   udp     wait    backup  /usr/pkg/libexec/amandad        amandad

dumpしたくないディレクトリにnodumpフラグを付けておく
# chflags nodump /usr/squid
# ls -lod /usr/squid
drwxr-xr-x  3 nobody  wheel  nodump 512 May 26 03:53 /usr/squid

参考

The Advanced Maryland Automatic Network Disk Archiver
UNIXUSER 2001.1,2001.2にAmandaの記事があります。
O'REILLYから出ているUNIXバックアップ&リカバリにAmandaの章があります。実はまだ買ってませんが。
iyoda-www@atikoro.org
$Date: 2004/06/03 22:10:43 $