杂项-20160826

小计(学习及复习):

1.eclipse 启动找不到.calss文件等编译问题

解决:清理

【Project】-->【Clean】

2.Linux文件x权限

chmod a+x test.sh   (*a为all用户)

4.关于Linux的分号问题

5.参数列表详解http://www.jb51.net/article/48691.htm

6.Linux参数的shift方法会使$#同步减少,如需要初始长度则先将$#存放在一个变量里面

7.可使用$[1/0]强制中断

8.关于Linux的if和c的if问题

9.for x in list的用法


今日主要完成取数及清理脚本如下:

#!/bin/sh
#getpath="/home/xxx"
#bankname="xxx-0000-"
#date="20160803"
#outin="-xxx"
#putpath="/home/xxx/xxx"
#list="a b c"
#delhis=10
echo $date":start...
----------------------------------------------------->"$(date)>$putpath/log/$date'_unzip_run.log'
echo $date":step 1...检查">> $putpath/log/$date'_unzip_run.log'
#检查OK文件是否存在
if [ -e $getpath/datafile/$bankname$date$outin.ok ];then
	#检查数据文件夹是否存在
	if [ ! -e $putpath/datafile ];then
		echo $date":step 1...创建数据路径...">> $putpath/log/$date'_unzip_run.log'
		mkdir -p $putpath/datafile
	fi
	#创建log和bad文件夹
	mkdir -p $putpath/log/$date
	mkdir -p $putpath/bad/$date
	#解压数据
	echo $date":step 2...数据解压开始->"$(date)>>$putpath/log/$date'_unzip_run.log'
	rm -rf $putpath/datafile
	unzip -o $getpath/datafile/$bankname$date$outin.zip -d $putpath
	rename $putpath/$bankname$date$outin $putpath/datafile $putpath/$bankname$date$outin
	echo $date":step 2...数据解压结束->"$(date)>>$putpath/log/$date'_unzip_run.log'
	#修改参数列表里的数据文件的前缀
	for rename in $list
		do
		rename $bankname$date$outin"-"$rename $rename $putpath/datafile/*
		echo $date":setp 3...修改前缀-> "$bankname$date$outin"-"$rename" 前缀改为"$rename>>$putpath/log/$date'_unzip_run.log'
	done
	echo $date":setp 4...修改后缀->.ok文件及.dat文件">>$putpath/log/$date'_unzip_run.log'
	rename -all.txt .dat $putpath/datafile/*-all.txt
	rename -all.cnt .ok $putpath/datafile/*-all.cnt
	rename -add.txt .dat $putpath/datafile/*-add.txt
	rename -add.cnt .ok $putpath/datafile/*-add.cnt
	echo $date":setp 5...数据准备完成">> $putpath/log/$date'_unzip_run.log'
#如果没有OK文件,强制中断,使前台报错中止,等待下次运行
else
	echo $date":step 1...数据OK文件不存在,数据没准备好,脚本已强制中断" >> $putpath/log/$date'_unzip_run.log'
	$[0/0]
fi

#清理历史数据文件
if [ $delhis > 7 ];then
	targday=$(date -d $date'-'$delhis' day' +%Y%m%d)
	echo $date":setp 6...清理"$targday"以前的历史数据文件">> $putpath/log/$date'_unzip_run.log'
	for ((i=20160701;i<=$targday;i++))
		do
			if [ -e $getpath/datafile/$bankname$i$outin.ok ];then
				echo $date":setp 6...正在清理"$getpath/datafile/$bankname$i$outin.ok>> $putpath/log/$date'_unzip_run.log'
				rm -rf $getpath/datafile/$bankname$i$outin.ok
			fi
			if [ -e $getpath/datafile/$bankname$i$outin.zip ];then
				echo $date":setp 6...正在清理"$getpath/datafile/$bankname$i$outin.zip>> $putpath/log/$date'_unzip_run.log'
				rm -rf $getpath/datafile/$bankname$i$outin.zip
			fi
		done
fi

#清理一年以上log和bad文件
if [ $dellogandbad > 365 ];then
	targday=$(date -d $date'-'$dellogandbad' day' +%Y%m%d)
	echo $date":setp 6...清理"$targday"以前的log和bad文件">> $putpath/log/$date'_unzip_run.log'
	for ((i=20160701;i<=$targday;i++))
		do
			if [ -e $putpath/log/$i'_unzip_run.log' ];then
				echo $date":setp 6...正在清理"$putpath/log/$i'_unzip_run.log'>> $putpath/log/$date'_unzip_run.log'
				rm -rf $putpath/log/$i'_unzip_run.log'
			fi
			if [ -e $putpath/log/$i ];then
				echo $date":setp 6...正在清理"$putpath/log/$i>> $putpath/log/$date'_unzip_run.log'
				rm -rf $putpath/log/$i
			fi
			if [ -e $putpath/bad/$i ];then
				echo $date":setp 6...正在清理"$putpath/bad/$i>> $putpath/log/$date'_unzip_run.log'
				rm -rf $putpath/bad/$i
			fi
		done
fi
echo "----------------------------------------------------->"$(date)"
"$date":over...">>$putpath/log/$date'_unzip_run.log'


  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值