if [ $N -gt $2 ] then M=`expr $N - $2` ls $BKDIR/data/*$1.ax.tar|sort|sed -n "1,$M"p | / sed "s/^/rm /" >;tmp_dir.sh sh tmp_dir.sh; rm tmp_dir.sh fi fi }
fun_wrttyp() { FILE=`echo $1 | sed "s|/g"` if [ $# -lt 1 ] then echo "格式:wrtty 文本文件名" else who |awk -F ' ' '{print $2}'|sed "s/^/cat $FILE >; //dev///" | / sed "s/|g" >; tmp_wrtty.sh sleep 1 sh tmp_wrtty.sh; rm tmp_wrtty.sh fi }
fun_killterm() { echo "/nkillterm start .................................................../n" date '+%Y%m%d-%H:%M:%S' set -x
sh tmp_killu.sh cat tmp_killu.sh rm tmp_killu.sh sleep 10 who -ux; w; onstat -u
set +x date '+%Y%m%d-%H:%M:%S' echo "/nkillterm end ...................................................../n" # 这段的shell的正确与否有待高手指点 }
fun_main_after() { # DBNAME=$1 # 后续处理:备份压压宿、数据传送、优化及检查、删除多余的备份 fun_compress $1 2>;&1 | tee -a $LOGNAME fun_ftp $1 2>;&1 | tee -a $LOGNAME fun_dbchk $1 2>;&1 | tee -a $LOGNAME fun_deldbfile $1 25 2>;&1 | tee -a $LOGNAME }
main() { echo "/n自动备份启动 ......................................../n"|tee $LOGNAME date '+%Y%m%d-%H:%M:%S' | tee -a $LOGNAME # 初始处理:发布通告、杀终端、删除tar目录中的旧备份 fun_wrttyp $HOMEDIR/tz/tz0 # 把tz0文件的内容写到当前所有在线ttyp上 fun_killterm 2>;&1 | tee -a $LOGNAME rm $BKDIR/tar/*tar
# 备份备理:执行dbexport fun_dbexport data1 ocbps 2>;&1 | tee -a $LOGNAME
# 写入数据到磁带 echo "tar c8vm $TODAY.* /n" # 下面sleep两小时,是为了等待另一台机器上的数据备份完成后传过来,再一起tar cd $BKDIR/tar; sleep 7200; tar c8vm $TODAY.* # tar到磁带上 date '+%Y%m%d-%H:%M:%S' | tee -a $LOGNAME echo "/n自动备份结束 ...................................../n"|tee -a $LOGNAME }
main # 执行备份主程序
# 数据库优化shell 文件名:update.sh
#此文件为优化数据库用,它被系统自动备调用,请不要删除。 #格式:update.sh 数据库名 echo "/nupdate $1 start .................................................../n" date '+%Y%m%d-%H:%M:%S' set -x dbaccess $1 << ! update statistics ; ! set +x date '+%Y%m%d-%H:%M:%S' echo "/nupdate $1 end ...................................................../n