⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 tapebackup

📁 这是一个使用 informix esql/c 技术开发的银行程序的部分代码。
💻
字号:
# 数据库数据备份#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 + -