|
| ||||||||
|
巻き戻し中。
|
|
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 | |||||||||
| |||||||||
| |||||||||
|