分享
 
 
 

修改的中创储蓄对公业务U盘备份shell

王朝other·作者佚名  2006-11-24
窄屏简体版  字體: |||超大  

#USB Storage Utility *** 信用社业务数据U盘备份程序1.0

#(c) Copyright 2004

#编辑修改: 查明胜 zerozha@yahoo.com.cn

#==========================环境参数设置========================

#储蓄路径

BANKSTAR_HOME=/usr/bankstar

#对公路径

BANKACC_HOME=/usr/bankacc

#U盘系统装载点

MOUNT_POINT=/mnt

#U盘设备名称

DEV=/dev/dsk/1sC

#U盘备份保留天数

DAYS=30

#==========================结束========================

MONTH=

DAY=

#=============================更改路径

change_to_dir() {

dir=$1

[ -f $dir ] && rm -r $dir

[ ! -d $dir ] && mkdir $dir

cd $dir

}

#==============================end

#==============================删除逾期数据

DeleteYqData()

{

Num=`ls $1/*.dat | wc -l`

GeS=`expr $Num - $DAYS`

[ $GeS -gt 0 ] && {

Num=0

for i in `ls $1/*.dat`

do

Num=`expr $Num + 1`

yes | rm $i >/dev/null 2>/dev/null

[ $? -ne 0 ] && {

echo "\n$i 删除失败 !"

}

[ $Num -ge $GeS ] && break

done

}

}

#=================================结束

GetYN()

{

while echo "\n$* (Y/N): \07\c"

do

read yn

case $yn in

[yY]) return 0;;

[nN]) return 1;;

*) echo "\07\07"

esac

done

}

#================================================

DateAnalyse()

{

value=`echo $1 | awk 'BEGIN { FS="/" }

{

Year=$1

Mon=$2

Day=$3

if(Year<1899 || Year >9999 || Mon<1 || Mon >12 || \

Day<1 || Day >31 || !IsDigit(Mon) || !IsDigit(Year) ||\

!IsDigit(Day) || !IsYMD(Year,Mon,Day))

printf("1")

else printf("0")

}

function IsDigit(str)

{

for(i=1;i<=length(str);i++)

{

bit=substr(str,i,1)

if(bit<0 || bit>9) return(0)

}

return(1)

}

function IsLeapYear(YearNum)

{

if((int(YearNum%4)==0 && int(YearNum%100)!=0)||int(YearNum%400)==0)

return(1)

else return(0)

}

function IsYMD(YearNum,MonNum,DayNum)

{

DayArr["01"]=31

if(IsLeapYear(YearNum)) DayArr["02"]=29

else DayArr["02"]=28

DayArr["03"]=31

DayArr["04"]=30

DayArr["05"]=31

DayArr["06"]=30

DayArr["07"]=31

DayArr["08"]=31

DayArr["09"]=30

DayArr["10"]=31

DayArr["11"]=30

DayArr["12"]=31

if(DayNum>0 && DayNum<=DayArr[MonNum])

return(1)

else return(0)

}' `

return $value

}

#========================================

GetDate()

{

while true

do

echo "\n请输入$* (yyyy/mm/dd): \c"

read date

len=`expr length "$date"`

DateAnalyse $date

[ $? -ne 0 -o $len -ne 10 ] && {

echo "\07\07\07"

echo "日期错误,按回车键重新输入 ...\c"

read key

continue

}

GetDateYN "输入$*为:  $date , 是否正确"

[ $? -eq 0 ] && break

done

}

#=============================================

GetDateYN()

{

while echo "\n\07\07$* (Y/N): \c"

do

read yn

len=`expr length "$yn"`

[ $len -ne 1 ] && continue;

case $yn in

[yY]) return 0;;

[nN]) return 1;;

*) echo "\07\c";;

esac

done

}

#=============================================程序主画面

main_menu() {

clear;

tput cup 1 1

echo " 安庆市城郊信用合作联社业务数据U盘备份程序 Ver 1.0 \c"

echo "\n==========================================================\c"

tput cup 3 1

echo "[1] 储蓄业务数据备份  [2] 储蓄业务数据恢复 "

tput cup 5 1

echo "[3] 对公业务数据备份  [4] 对公业务数据恢复 "

tput cup 7 1

echo "[5] 查看U盘使用情况  [6] 删除U盘全部数据 "

tput cup 9 1

echo "[7] 选择删除U盘数据  [8] 列U盘内容 "

tput cup 11 1

echo "[q]退 出 "

tput cup 13 1

echo "\n=========================================================="

echo " 现在时间:"`date '+%Y年%m月%d日'`",U盘数据将保留"$DAYS"天"

echo "=========================================================="

echo "请选择:\c";

}

#=============================================END

check_privilege() {

id_num=`id -u `

if [ id_num -ne 0 ]

then

echo "请用超级用户执行此程序!!!!"

sleep 3

exit

fi

}

#============================================查看U盘使用情况

usd_statistics() {

total=`df -kv $DEV |grep $DEV| awk '{print $3}'`

used=`df -kv $DEV |grep $DEV| awk '{print $4}'`

free=`df -kv $DEV |grep $DEV| awk '{print $5}'`

percent=`df -kv $DEV |grep $DEV|awk '{print $6}'`

echo " U 盘 当 前 使 用 情 况 "

echo " --------------------------------------------------------------------"

echo " 总容量(K) 已用(K) 剩余(K) 百分比"

echo " ${total} ${used} ${free} ${percent}"

echo " --------------------------------------------------------------------"

echo " 按回车键继续......\c"

read any

}

#============================================end

#============================================删除U盘所有数据

delete_all() {

echo "你确定要删除U盘所有数据吗?(y/n)\c"

cd $MOUNT_POINT

read opt

if [ $opt = "y" ]

then

rm -rf *

fi

}

#============================================end

#============================================选择删除U盘数据

delete_single() {

cd $MOUNT_POINT

echo "U盘当前目录:"

lx

echo "请输入要删除目录:\c"

read delete_dir

if [ -d $delete_dir -o -f $delete_dir ]

then

echo "你确定要删除${delete_dir}吗?(y/n)\c"

read opt

if [ $opt = "y" ]

then

rm -rf $delete_dir

fi

else

echo "<$delete_dir>目录或文件不存在"

sleep 2

fi

}

#=========================================================

list_file() {

cd $MOUNT_POINT

echo "U盘当前目录:"

l

echo "任一键返回"

read any

}

backup_bankstar()

{

rm -r /tmp/bankstar.exp >/dev/null 2>/dev/null

rm -r -f /tmp/bankstar >/dev/null 2>/dev/null

rm -r -f /tmp/bankstar.Z >/dev/null 2>/dev/null

[ -f "/tmp/bankdata" -o -f "/tmp/bankdata.Z" ] && {

echo "请先清理 /tmp 然后再备份!\n"

read any

return

}

cd /tmp

dbexport bankstar

[ $? -eq 0 ] || {

echo "数据库卸载失败!\n"

read any

return

}

tar cvf /tmp/bankstar /usr/bankstar/com /usr/bankstar/data /usr/bankstar/etc /usr/bankstar/frm /tmp/bankstar.exp

chmod 777 /tmp/bankstar >/dev/null 2>/dev/null

compress -H /tmp/bankstar

chmod 777 /tmp/bankstar.Z >/dev/null 2>/dev/null

rm -r -f /tmp/bankstar.exp

[ $? -eq 0 ] || return

cszd=`dbaccess bankstar -<<-End

select val from gcs where dh="005";

End`

gzrq=`echo $cszd | awk 'BEGIN { FS=" " }

{

split($2,a,"/")

rq=sprintf("%s%s%s",a[1],a[2],a[3])

printf rq

}'`

echorq=`echo $cszd | awk 'BEGIN { FS=" " }

{

split($2,a,"/")

rq=sprintf("%s/%s/%s",a[1],a[2],a[3])

printf rq

}'`

echo "正在备份$echorq储蓄数据...."

cd /mnt

change_to_dir bankstar

cp -f /tmp/bankstar.Z "$gzrq".dat

aa=$?

rm -f /tmp/bankstar.Z

[ $aa -eq 0 ] || {

echo "文件(bankstar.Z)拷贝失败!!!"

read any

return

}

echo "备份数据成功 ! 按回车键返回...\c"

DeleteYqData /mnt/bankstar

read any

echo

}

recover_bankstar()

{

GetDate "所恢复数据的日期"

Date=`echo $date | awk 'BEGIN { FS="/" }{printf("%s%s%s",$1,$2,$3)}'`

BkupFile="$Date.dat"

[ ! -f /mnt/bankstar/$BkupFile ] && {

echo "\n\07\07${date}无备份数据 ! 按回车键返回...\c"

read key

return 1;

}

cd /tmp

rm bankstar.Z 2>/dev/null

cd /mnt/bankstar

[ -f "$Date.dat" ] || { echo "\n $Date.dat(数据)文件不存在!!!"

read key

return

}

echo "正在拷贝数据"

cp $Date.dat /tmp/bankstar.Z

[ $? -eq 0 ] || { rm -r /tmp/bankstar.Z>dev/null 2>/dev/null

read key

return

}

cd /tmp

rm -r bankstar 1>/dev/null 2>/dev/null

uncompress bankstar.Z

[ $? -eq 0 ] || { rm -r bankstar.Z>/dev/null 2>/dev/null

read key

return

}

tar xvf bankstar

[ $? -eq 0 ] || { rm -r bankstar.Z >/dev/null 2>/dev/null

rm -r bankstar >/dev/null 2>/dev/null

return

}

dbaccess - -<<-End >/dev/null 2>/dev/null

drop database bankstar;

End

dbimport bankstar -l -i ./

flag=$?

while [ $flag -ne 0 ]

do

GetYN "加载数据库失败 ! 是否重新加载数据库" || return

dbaccess - - <<-End

drop database bankstar;

End

dbimport $DBNAME -l -i ./

flag=$?

done

echo "恢复成功 ! 按回车键返回...\c"

rm -r -f /tmp/bankstar.exp 2>/dev/null

read key

return

}

#备份对公业务数据

backup_bankacc()

{

cd /tmp

rm -r single.exp 2>/dev/null

rm single.Z 2>/dev/null

dbexport single

flag=$?

while [ $flag -ne 0 ]

do

GetYN " 数据卸载失败 ! 是否重新卸载" || {

rm single.Z >/dev/null 2>/dev/null

echo

return

}

rm -r single.exp 2>/dev/null

dbexport single

flag=&#

[1] [2] 下一页

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
2023年上半年GDP全球前十五强
 百态   2023-10-24
美众议院议长启动对拜登的弹劾调查
 百态   2023-09-13
上海、济南、武汉等多地出现不明坠落物
 探索   2023-09-06
印度或要将国名改为“巴拉特”
 百态   2023-09-06
男子为女友送行,买票不登机被捕
 百态   2023-08-20
手机地震预警功能怎么开?
 干货   2023-08-06
女子4年卖2套房花700多万做美容:不但没变美脸,面部还出现变形
 百态   2023-08-04
住户一楼被水淹 还冲来8头猪
 百态   2023-07-31
女子体内爬出大量瓜子状活虫
 百态   2023-07-25
地球连续35年收到神秘规律性信号,网友:不要回答!
 探索   2023-07-21
全球镓价格本周大涨27%
 探索   2023-07-09
钱都流向了那些不缺钱的人,苦都留给了能吃苦的人
 探索   2023-07-02
倩女手游刀客魅者强控制(强混乱强眩晕强睡眠)和对应控制抗性的关系
 百态   2020-08-20
美国5月9日最新疫情:美国确诊人数突破131万
 百态   2020-05-09
荷兰政府宣布将集体辞职
 干货   2020-04-30
倩女幽魂手游师徒任务情义春秋猜成语答案逍遥观:鹏程万里
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案神机营:射石饮羽
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案昆仑山:拔刀相助
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案天工阁:鬼斧神工
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案丝路古道:单枪匹马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:与虎谋皮
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:李代桃僵
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:指鹿为马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:小鸟依人
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:千金买邻
 干货   2019-11-12
 
推荐阅读
 
 
 
>>返回首頁<<
 
靜靜地坐在廢墟上,四周的荒凉一望無際,忽然覺得,淒涼也很美
© 2005- 王朝網路 版權所有