[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[debian-users:41138] pdumpfs (Re: backupの方法)
こんにちは。島田です。
On Fri, 6 Aug 2004 13:46:53 +0900
Sugano Yoshihisa (E) <koshian@xxxxxxxxxxx> wrote:
> ファイルシステムがFATじゃなくてもよいのなら、pdumpfs を使うのがよいか
> もしれません。
私も、システムを別の HDD に乗せ替えるというのではなく、日々のバックアッ
プの場合は pdumpfs を使っています。ちょっと工夫して、こんなスクリプトを
作っています。
バックアップ・メディアは、本当は Linux マシン外に置いておいた方がいい
のでしょうが、安く手軽に済ませるために、内臓 IDE HDD を 1 台、バックアッ
プ・メディアに充てています。
バックアップするときだけ自動で mount し、バックアップが終了すると
umount させるようにしています(よいのやら、かえって悪いのやらわかりませ
んが、気分的に)。
/etc/crontab に次のように書いて、毎日 1 回起動させています。
# Backup 毎朝 5 時に起動
0 5 * * * root /usr/local/sbin/backup.sh
マウント・ポイントとして /export/backup というのを作っておいて、マウン
トしたときに /export/backup/pdumpfs というディレクトリ配下にバックアップ
します(間違えて別のパーティションをマウントしたり、何もマウントしないの
にバックアップを開始しても、pdumpfs というディレクトリが存在しなければバッ
クアップが失敗するように)。
==== /usr/local/sbin/backup.sh =====
#!/bin/sh
PATH=/sbin:/bin:/usr/sbin:/usr/bin:/usr/local/sbin:/usr/local/bin
export PATH
BACKUPDIR=/export/backup/pdumpfs
LOGDIR=/var/log/pdumpfs
LOG=${LOGDIR}/pdumpfs.log
ERRLOG=${LOGDIR}/pdumpfs-err.log
DATE_FMT="+%Y-%m-%d %a %T (%Z)"
# ----- Begin before and after process -----
PARTITION=/dev/hdj2
MOUNTPOINT=/export/backup
FILESYSTEM=reiserfs
before_backup()
{
mount -t ${FILESYSTEM} ${PARTITION} ${MOUNTPOINT} >> ${LOG} 2>> ${ERRLOG}
return ${?}
}
after_backup()
{
umount ${PARTITION} >> ${LOG} ${ERRLOG}
}
# ----- End before and after process -----
backup()
{
pdumpfs $1 ${BACKUPDIR} ${2} >> ${LOG} 2>> ${ERRLOG}
}
#
# Main routine
#
if [ ! -d ${LOGDIR} ]; then
mkdir ${LOGDIR}
fi
if before_backup; then
(LC_ALL=C ; echo "[`date \"${DATE_FMT}\"`]: Starting backup.")
backup /etc
backup /home
backup /root
backup /opt
backup /service
backup /usr/src usr_src
backup /usr/local usr_local
backup /var/lib/cvs var_lib_cvs
backup /var/lib/dpkg var_lib_dpkg
backup /var/lib/svscan var_lib_svscan
backup /var/www var_www
backup /var/www-ssl var_www-ssl
backup /var/fileserver var_fileserver
after_backup
(LC_ALL=C ; echo "[`date \"${DATE_FMT}\"`]: Completed backup.")
ret=0
else
(LC_ALL=C ; echo "[`date \"${DATE_FMT}\"`]: Backup failure.")
ret=1
fi
exit ${ret}
---
二胡を始めよう! お勧めの二胡をご用意しました
いますぐクリック ==> http://www.1bangenki.biz/
----------------------------------------------------------------------
Mail: shimaden@xxxxxxxxx
Home Page: http://www.din.or.jp/~shimaden/
島田博幸
Hiroyuki Shimada
----------------------------------------------------------------------