📄 tapebackup
字号:
# 数据库数据备份#update by wkl in sh 2002/07/12getdev() { softdev=/dev/null while true do clear echo " <1> 软盘 " echo " <2> 磁带 " echo " <3> 硬盘(只保留备份一天) " echo " <4> 退出 " echo " " echo "请选择备份介质: \c" read sel rest [ "$sel" ] || continue sel_long=`expr length $sel` [ $sel_long -eq 1 ] || continue [ $sel -ge 1 -a $sel -le 3 ] && break [ $sel -eq 4 ] && { rm /tmp/bankdata.Z >/dev/null 2>/dev/null exit 4 } done case $sel in 1) echo "软盘设备号为(/dev/fd0135ds18):\c" read softdev rest [ "$softdev" ] || softdev=/dev/fd0135ds18 ;; 2) echo "磁带设备号为(/dev/rct0):\c" read softdev rest [ "$softdev" ] || softdev=/dev/rct0 ;; 3) echo "硬盘备份目录为(/usr/tmp/backup):\c" read softdev rest [ "$softdev" ] || softdev=/usr/tmp/backup [ -d "$softdev" ] || { mkdir $softdev [ $? -eq 0 ] || exit 1 } ;; esac [ -w $softdev ] || { echo "$softdev 不可写,按任意键返回!\n" read wait return 1 } return 0}##备份后台参数定义文件##SERVPATH=` head -1 $WPATH/etc/cs | awk -F \| '{ print $7 }'`#cd $SERVPATH #copy -r com $HOME/tmp/com #copy -r frm $HOME/tmp/frm #copy -r etc $HOME/tmp/etc #copy -r data $HOME/tmp/data #cd $HOME/tmp##cd $HOMErm -r bankstar.exp >/dev/null 2>/dev/nullrm -r -f /tmp/bankdata >/dev/null 2>/dev/nullrm -r -f /tmp/bankdata.Z >/dev/null 2>/dev/null[ -f "/tmp/bankdata" -o -f "/tmp/bankdata.Z" ] && { echo "请先清理 /tmp 目录然后再开始备份!\n" exit 1} if [ -d "/app/bank.backup" ] then bb=bfsj else mkdir /app/bank.backup fi wkl_dev="/app/bank.backup/data_crc" [ -d "$wkl_dev" ] || { mkdir $wkl_dev [ $? -eq 0 ] || exit 1 } wkl_dev="/app/bank.backup/log" [ -d "$wkl_dev" ] || { mkdir $wkl_dev [ $? -eq 0 ] || exit 1 } cd $HOMEdbexport bankstar -o .[ $? -eq 0 ] || { echo "数据库卸载失败!\n" exit 1}tar cvf /tmp/bankdata com data etc frm bankstar.expchmod 777 /tmp/bankdatacompress -H /tmp/bankdatachmod 777 /tmp/bankdata.Zgetdev[ $? -eq 0 ] || exit 1if [ $sel -eq 3 ]then cd $softdev rm -r * >/dev/null 2>/dev/null cp /tmp/bankdata.Z $softdev [ $? -eq 0 ] || { echo "文件(bankdata.Z)拷贝失败!!!" exit 1 } backdate=`head -1 $HOME/etc/cs | awk -F \| '{print $1}'` echo $backdate>backtime [ $? -eq 0 ] || { echo "文件(backtime)生成失败!!!" exit 1 } cd $HOME rm -r /tmp/bankdata.Z exit 0else cd /tmp###wkl=ysoftdev=/dev/rfd0135ds18zgw=1set `wc bankdata.Z`file_l=$3while [ $wkl != n ]do echo "===========================================================================" if [ $file_l -gt 1473024 ] then bs=`expr $file_l / 1473024 + 1` echo "操作员同志请注意:" echo " 数据文件太大,一套备份需要"$bs"张软盘,请注意换盘,因屏幕无换盘提示" echo " 所以开始备份后必须等到软驱灯灭后,方可换下一张磁盘!" fi echo "\n★这是第"$zgw"套备份,请插入磁盘,回车开始备份(或按 n 键退出!).....\c" read wkl rest test $wkl ab=$? if [ $ab -ne 0 ] then wkl=y fi if [ $wkl != n ] then tar cv6 bankdata.Z aa=$? echo "....下面进行磁盘数据的读写校验!!" if [ $file_l -gt 1473024 ] then echo "....这套备份应有"$bs"张盘,放入第一张盘后按回车开始!校验时请注意换盘(方法同上)" read wait rest fi cd /app/bank.backup/data_crc if [ -f "/app/bank.backup/data_crc/bankdata.Z" ] then rm -r /app/bank.backup/data_crc/bankdata.Z fi echo "....\c" tar xv6 if [ -f "/app/bank.backup/data_crc/bankdata.Z" ] then wkl_bfbz=1 else wkl_bfbz=2 fi if [ $wkl_bfbz -eq 1 ] then set `wc bankdata.Z` file_crc=$3 if [ $file_crc -eq $file_l ] then wkl_bfbz=1 else wkl_bfbz=2 fi fi if [ $wkl_bfbz -eq 1 ] then echo "....第"$zgw"套数据校验【正确】,你可以放心保存了!" else echo "●●●●注意:数据校验【出错】,可能软盘损坏,请换新盘重新备份吧!!" aa=2 fi cd /tmp zgw=` expr $zgw + 1 ` fi sleep 1done### wkldate=`date` log_t=`expr substr "$wkldate" 9 2` if [ $log_t -eq 30 ] then cat /usr/newbank/com/log/AnsLog >> /app/bank.backup/log/AnsLog if [ $? -eq 0 ] then rm -r /usr/newbank/com/log/AnsLog else echo "日志文件AnsLog生成错误!!!" fi cat /usr/newbank/com/log/MsgLog >> /app/bank.backup/log/MsgLog if [ $? -eq 0 ] then rm -r /usr/newbank/com/log/MsgLog 2>/usr/newbank/com/log/MsgLog else echo "日志文件MsgLog生成错误!!!" fi cat /usr/newbank/com/log/ReqLog >> /app/bank.backup/log/ReqLog if [ $? -eq 0 ] then rm -r /usr/newbank/com/log/ReqLog else echo "日志文件ReqLog生成错误!!!" fi fi if [ -f "/app/bankstar/tmp/zbf" ] then bfsj=`expr substr "$wkldate" 1 3` else bfsj=`expr substr "$wkldate" 9 2` fi # if [ -d "/app/bank.backup" ] # then# bb=bfsj# else# mkdir /app/bank.backup# fi cp bankdata.Z /app/bank.backup/bankdata.Z.$bfsj wkldate1=`date +%y%m%d` if [ $log_t -eq 30 ] thencp bankdata.Z /app/bank.backup/bankdata.Z.$wkldate1 fi### ##echo "\n硬盘备份(/usr/tmp/backup 及 /app/bank.backup 目录下)...\c" softdev="/usr/tmp/backup" [ -d "$softdev" ] || { mkdir $softdev [ $? -eq 0 ] || exit 1 } #rm -r $softdev 2>/dev/null #mkdir $softdev cd $softdev cp /tmp/bankdata.Z ./ [ $? -eq 0 ] || { echo "文件(bankdata.Z)拷贝失败!!!" rm -f /tmp/bankdata.Z exit 1 } backdate=`head -1 $HOME/etc/cs | awk -F \| '{print $1}'` echo $backdate>backtime [ $? -eq 0 ] || { echo "文件(backtime)生成失败!!!" rm -f bankdata.Z exit 1 } cd $HOME rm -f /tmp/bankdata.Z echo "" echo "\n硬盘备份(/usr/tmp/backup 及 /app/bank.backup 目录下)...\c" exit 0fi
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -