バックアップには、引き続き差分バックアップができるdarを使用して、スクリプトを作成。
# aptitude
> dar
/etc/cron.dailyにバックアップスクリプトを入れておけば完璧です。当然、/optは別のハードディスクドライブに割り当ています。
# cat > /etc/cron.daily/backup-daily
#!/bin/sh
# backup script
do_dar() {
SAVEPATH=$1 ; TARGET=$2
if test `date +\%d` = 01 ; then
if test -a ${SAVEPATHi}.1.dar ; then
cp -a ${SAVEPATH}.1.dar ${SAVEPATH}`date +\%m`.1.dar
fi
fi
case `date +\%w` in
0)
dar -j -R / -c “$SAVEPATH”0 $TARGET
mv “$SAVEPATH”0.1.dar “$SAVEPATH”.1.dar
;;
*)
dar -j -R / -c “$SAVEPATH”`date +\%w` -A $SAVEPATH $TARGET
;;
esac
}
# main
do_dar /opt/etc “-g etc -g root”
do_dar /opt/home “-g home”
do_dar /opt/var “-g var”
exit 0
^d
darの基本的使い方は以下の通り
# dar -c /opt/test -z -R / -g var -P var/run
これで、/opt/test.1.darにgzipで圧縮されたアーカイブができます。
-cがアーカイブ名、-Rが基準ディレクトリ、-gが対象ディレクトリ、-Pが除外ディレクトリ、-zがgzip圧縮です。
# dar -c /opt/new -y -R / -g var -A /opt/test
これで、testからの差分アーカイブができます。
-jがbzip2圧縮、-Aが参照アーカイブです。
bzip2はgzipよりも圧縮率に優れており、Athlon1Gでは圧縮時間も短く、便利です。darのフルバックアップは、tarとサイズはほぼ同じですが、実行時間はやや短縮しています。また、差分バックアップすると、ほんとに高速で快適です。
# dar -l /opt/new -as
これで、実際に保存されている内容が確認できます。
# dar -x /opt/new -g var/log
これで、logディレクトリが展開できます。
コメント