IRS总控调度Shell(AIX)-JLBK

cat irs_ctl.sh

 echo IRS数据跑批、备份及加载现在开始...... while [ $? = 0 ] do export data_ok=`find /home/oracle/IRS_LOAD/dat/ -name "ok_*.dat"`'/home/oracle/IRS_LOAD/dat/ok_99999999.dat' export date_run=`expr substr $data_ok 30 8` export today=`date +%Y%m%d` export current_time=`date +%Y%m%d-%H:%M:%S` if [ $date_run = $today ] then echo $today data is ok!>>/home/oracle/IRS_EXEC/ctl_log/ctl_$today.log echo 开始历史DAT备份...>>/home/oracle/IRS_EXEC/ctl_log/ctl_$today.log /home/oracle/IRS_LOAD/dat_his/copy_dat_to_his.sh echo 开始当天数据装载...>>/home/oracle/IRS_EXEC/ctl_log/ctl_$today.log /home/oracle/IRS_LOAD/SQLLDR_IN.sh echo 开始PROC跑批...>>/home/oracle/IRS_EXEC/ctl_log/ctl_$today.log /home/oracle/IRS_EXEC/exec_proc.sh echo 开始移除DW数据OK标志文件...>>/home/oracle/IRS_EXEC/ctl_log/ctl_$today.log mv /home/oracle/IRS_LOAD/dat/ok_*.dat /home/oracle/IRS_EXEC/ctl_log/ echo $today总控调度全部完成!>>/home/oracle/IRS_EXEC/ctl_log/ctl_$today.log echo $today总控调度全部完成! exit else echo $today is not ready! 当前时间$current_time,未发现准备好的数据,十分钟后将重新检查并跑批... >>/home/oracle/IRS_EXEC/ctl_log/ctl_$today.log sleep 10 fi done

牵涉到的知识点:

1、 whileifShell控制语句

2、 find命令

3、 expr substr

4、 export today=`date +%Y%m%d`

5、 sleep

6、 循环检查DAT数据文件是否到达

7、 变量与字符串的连接

8、 条件为真的通常做法 [ $? = 0 ]

你可能感兴趣的:(Date,shell,AIX)