|
|
| |||||||
| |||||||||
巻き戻し中。
|
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
2008-08-22(金) 結局 [長年日記]
_
宿題
もうね、夜中駆けつけてから昼夜ひっくり返って気付けば夕方。
でもって、今まで月に一度だからと放置していたテープドライブへのバックアップツール作成。
おまけに離島に出張の連中はVPNが繋がらないとか何とか。。
おいらが不在の時に限って原因不明でメイン鯖もrebootしちゃう。
や す ま せ ろ ! ww
【結構真面目に書いてみた】
#!/bin/sh
#
# Tape backup tool by H.Uekusa (For BES)
# 2008.08.22 Ver1.00
#
##########################################################################
FILEPATH="/data"
MTPATH="/usr/bin/mt"
STAT_FILE="/var/tmp/last_tape_dump_of_data"
MSG_FILE="/tmp/bkup_tape_body.txt"
T_DEV="/dev/nsa0"
TAR="/usr/bin/tar"
MAIL_PROG="/usr/bin/mail"
MAILTO_ADDRESS="hoge@hohehoge.jp"
##########################################################################
# Error report rutine
##########################################################################
err_report()
{
echo "Tape has trouble?"
echo "at $ERR_ARG"
echo "Found error at $ERR_ARG" > $MSG_FILE
echo "Backup tape has trouble?" >> $MSG_FILE
echo "Please check the tape drive, or change a tape for bckup." >> $MSG_FILE
$MTPATH offline
$MAIL_PROG -s "BES backup tape trouble" $MAILTO_ADDRESS < $MSG_FILE
exit
}
##########################################################################
# Check arguments routine
##########################################################################
chk_arg()
{
if [ "$1" = "" ];then
echo 'Usage: dump_to_tape.sh'
echo 'If use -data option, backup da0* to tape (1st Sunday of the Month)'
echo 'If use -system option, backup ad0* to tape (Only for dated today!)'
echo 'If you specify YYYYMMDD to $2(2nd arg), will backup that date of file'
exit
fi
}
##########################
# Main routine from here #
##########################
chk_arg $1
##########################################################################
# Set specified date if $2 is not NULL
##########################################################################
DATE_now=`date +%Y%m%d`
DATE_target=`date -v1d -v+sun +%Y%m%d`
if [ "$2" != "" ];then
DATE_now=`echo $2`
DATE_target=`echo $2`
echo "the date of $DATE_target"
fi
##########################################################################
# Rewind the tape-drive and check status
##########################################################################
$MTPATH rew
if [ "$?" != "0" ];then
ERR_ARG="rewind"
err_report
exit
fi
##########################################################################
# Backup with tar command (data archives)
##########################################################################
cd $FILEPATH
if [ "$1" = "-data" ];then
##########################################################################
# Check for duplicate
##########################################################################
if [ -f "$STAT_FILE" ];then
LAST_DATE=`cat $STAT_FILE`
if [ "$DATE_target" = "$LAST_DATE" ];then
echo "$DATE_target were backed up already!!"
exit
fi
fi
if [ -f "$FILEPATH/daemon3_da0s1d_$DATE_target" ];then
$MTPATH comp on
$MTPATH eom
sleep 10
echo "Backing up daemon3_da0s1d_$DATE_target"
$TAR -c -f $T_DEV ./daemon3_da0s1d_$DATE_target
if [ "$?" != "0" ];then
ERR_ARG=`echo "daemon3_da0s1d_$DATE_now"`
err_report
exit
fi
sleep 5
$MTPATH weof 1
sleep 10
echo "Backing up daemon3_da0s2d_$DATE_target"
$TAR -c -f $T_DEV ./daemon3_da0s2d_$DATE_target
if [ "$?" != "0" ];then
ERR_ARG=`echo "daemon3_da0s2d_$DATE_now"`
err_report
exit
fi
sleep 5
$MTPATH weof 1
sleep 10
echo "Backing up daemon3_da0s3d_$DATE_target"
$TAR -c -f $T_DEV ./daemon3_da0s3d_$DATE_target
if [ "$?" != "0" ];then
ERR_ARG=`echo "daemon3_da0s3d_$DATE_now"`
err_report
exit
fi
sleep 5
$MTPATH weof 1
sleep 10
echo "Backing up daemon3_da0s4d_$DATE_target"
$TAR -c -f $T_DEV ./daemon3_da0s4d_$DATE_target
if [ "$?" != "0" ];then
ERR_ARG=`echo "daemon3_da0s4d_$DATE_now"`
err_report
exit
fi
sleep 5
$MTPATH weof 1
sleep 10
$MTPATH rew
echo $DATE_target >$STAT_FILE
else
echo "Nothing to backup of data at $DATE_target!!"
fi
##########################################################################
# Backup with tar command (system archives)
##########################################################################
elif [ "$1" = "-system" ];then
if [ -f "$FILEPATH/daemon3_ad0s1a_$DATE_now" ];then
$MTPATH comp on
$MTPATH eom
sleep 10
echo "Backing up daemon3_ad0s1a_$DATE_now"
$TAR -c -f $T_DEV ./daemon3_ad0s1a_$DATE_now
if [ "$?" != "0" ];then
ERR_ARG=`echo "daemon3_ad0s1a_$DATE_now"`
err_report
exit
fi
sleep 5
$MTPATH weof 1
sleep 10
echo "Backing up daemon3_ad0s2e_$DATE_now"
$TAR -c -f $T_DEV ./daemon3_ad0s2e_$DATE_now
if [ "$?" != "0" ];then
ERR_ARG=`echo "daemon3_ad0s2e_$DATE_now"`
err_report
exit
fi
sleep 5
$MTPATH weof 1
sleep 10
echo "Backing up daemon3_ad0s2f_$DATE_now"
$TAR -c -f $T_DEV ./daemon3_ad0s2f_$DATE_now
if [ "$?" != "0" ];then
ERR_ARG=`echo "daemon3_ad0s2f_$DATE_now"`
err_report
exit
fi
sleep 5
$MTPATH weof 1
sleep 10
echo "Backing up daemon3_ad0s2g_$DATE_now"
$TAR -c -f $T_DEV ./daemon3_ad0s2g_$DATE_now
if [ "$?" != "0" ];then
ERR_ARG=`echo "daemon3_ad0s2g_$DATE_now"`
err_report
exit
fi
sleep 5
$MTPATH weof 1
sleep 10
echo "Backing up daemon3_ad0s3e_$DATE_now"
$TAR -c -f $T_DEV ./daemon3_ad0s3e_$DATE_now
if [ "$?" != "0" ];then
ERR_ARG=`echo "daemon3_ad0s3e_$DATE_now"`
err_report
exit
fi
sleep 5
$MTPATH weof 1
sleep 10
echo "Backing up daemon3_ad0s4e_$DATE_now"
$TAR -c -f $T_DEV ./daemon3_ad0s4e_$DATE_now
if [ "$?" != "0" ];then
ERR_ARG=`echo "daemon3_ad0s4e_$DATE_now"`
err_report
exit
fi
sleep 5
$MTPATH weof 1
sleep 10
$MTPATH rew
else
echo "Nothing to backup of $DATE_now!!"
fi
else
echo 'Hmm...Unknown option '$1
echo 'Please try to type ./dump_to_tape.sh without option!'
exit
fi
exit
_
小型UPS
通信機器用を装着してみた。
折しも昨晩は激しい雷雨。
ウチの周辺でも落雷による瞬断発生。*1
おいらの母艦と長男号は即死。
通信機器は。。。影響ないじゃん?。。OTL
丁度会社に古いUPSを運んであったので今は普通に電源だけ接続していたのだが。
どうやら消費電力が少ないので、ACアダプタや電源部のコンデンサ容量だけで乗り切れるみたいだ。
でも本当に停電とかすると電話も使えなくなるので、バックアップは必要。*2
185W最大だが、ルータと無線LANのAP、HUBとFletsのONUを遭わせても50Wそこそこだろう。
この場合、約20分ほど維持可能。
ほぉ、最近のレンタルルータはONU内蔵か。
これならバックアップも一ヶ所やればよいのか。
おい、もう長いことV110M使ったやったんだからそろそろ交換しる!
=>電話屋!停電対応しろとか言えばよいのかね?
[ツッコミを入れる]
| Tweets by RC31E | |||||||||
| |||||||||
| |||||||||


