在新太阳/奥尔两个程式的基础上修改的。请大家多多指教。

现在,正在修改硬盘备份部分。用中创的朋友,欢迎交流。

[quote:09f8d25e2d]
#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(YearNum0)!=0)||int(YearNum@0)==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&nbs''' %Y年%m月%'''`",U盘数据将保留"$DAYS"天"
echo "=========================================================="
echo "请选择:\c";
}
#=============================================END
check_privilege() {
id_num=`id -u `

if [ id_num -ne 0 ]
then
echo "请用终极用户执行此程式!!!!"
sleep 3
exit
fi

文章整理:西部数码--专业提供域名注册虚拟主机服务
http://www.west263.com
以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!