您的位置:首页 > 大数据 > 人工智能

IRS(JLBK)日常运维(sqlldr装数等)AIX平台日志WIN下查看的解决方案

2010-08-13 11:22 585 查看
AIX平台部分
1、 AIX平台下的Shell
cat log_check.sh
export yesterday=`awk 'NR==4' /home/oracle/IRS_EXEC/ago10.txt`
export today=`date +%Y%m%d`
if [[ -z $(ls /home/oracle/IRS_LOAD/bad) ]] && [ -f /home/oracle/IRS_EXEC/ctl_log/ok_$yesterday.dat ]; then
echo [$today]'IRS数据装载及跑批成功完成!'>>log_check.log
elif [ -f /home/oracle/IRS_LOAD/dat/ok_$yesterday.dat ]; then
echo [$today]'IRS数据装载及跑批出错,请通知IRS内部评级系统相关人员!'>>log_check.log
else
echo [$today]'IRS数据装载及跑批出错,DAT源数据文件还未传到,请通知ODS及DW数据仓库系统相关人员!'>>log_check.log
fi

说明:
² [ -z $(ls /home/oracle/IRS_LOAD/bad) ],在RedHat上测试是正确的,可以正常执行;但移植到AIX,执行不了,必须外面再加一层中括号才行,即:[[ -z $(ls /home/oracle/IRS_LOAD/bad) ]];目前还不太清楚原因。
² Shell的if结构:{if [];then elif[];then else fi};与之相对应,oracle的if语法结构为:if then elsif then end if;sqlserver的对应的是else if;一定要搞清楚,以免混淆。
² 此shell的依据,是根据跑批日志情况,来判断是否成功,以及如果不成功需要通知的责任人,将这些信息都记录到日志文件log_check.log中。
2、 另一个Shell产生的存有昨天日期的临时文件
cat ago10.txt
SQL> set heading off;
SQL> SELECT TO_CHAR(SYSDATE-1, 'YYYYMMDD') ago10 FROM DUAL;

20100812

SQL> spool off;

说明:文件主要是用来取一个昨天的日期;由于在AIX不太好实现,所以借用一个oracle的方便。
3、 产生的日志样本
cat log_check.log
[20100813]IRS数据装载及跑批出错,请通知IRS内部评级系统相关人员!
[20100813]IRS数据装载及跑批出错,DAT源数据文件还未传到,请通知ODS及DW数据仓库系统相关人员!
[20100813]IRS数据装载及跑批成功完成!

WIN平台部分
1、 将日志文件从AIX拷到WIN上的ftp批处理
cat ftp.body
open 10.172.44.105
oracle
oracle
binary
lcd D:/irs_运维查看
cd /home/oracle/IRS_EXEC
get log_check.log
bye

cat ftp_irs.bat
@echo off
ftp -s:ftp.body
exit

说明:ftp采用了把大部分ftp命令放在一个参数文件中的方式;至于是不是用二进制传输,没有严格的要求。
2、 总调度及结果查看程序
cat IRS系统数据加载及跑批结果显示.cmd
@echo off
title IRS系统数据加载及跑批结果显示
color 72
start D:/irs_运维查看/ftp_irs.bat
echo 将开始IRS日常运行结果的查看......
pause
echo.
type  D:/irs_运维查看/log_check.log
echo.
echo IRS运维查看完成,请根据显示的最后一条提示内容,对今天的跑批结果进行相应处理!
echo 注:此程序要在每天6:00以后执行才有意义!
pause

说明:调ftp的批用start命令;批处理界面的标题及前景背景颜色显示,title IRS系统数据加载及跑批结果显示和color 72;调ftp批之后要用一个pause暂停,否则新传过来的日志文件内容,显示不到DOS界面上;echo.表示输出一个空行;@echo off表示输出的命令不显示出来,只显示命令执行的结果;type命令用来显示文件的内容,如同unix环境下的cat。
3、 终端界面结果显示

管理员:IRS系统数据加载及跑批结果显示

将开始IRS日常运行结果的查看......
请按任意键继续. . .

[20100813]IRS数据装载及跑批出错,请通知IRS内部评级系统相关人员!
[20100813]IRS数据装载及跑批出错,DAT源数据文件还未传到,请通知ODS及DW数据仓库系统
相关人员!
[20100813]IRS数据装载及跑批成功完成!

IRS运维查看完成,请根据显示的最后一条提示内容,对今天的跑批结果进行相应处理!
注:此程序要在每天6:00以后执行才有意义!
请按任意键继续. . .

说明:
log_check.sh文件可以加在AIX的crontab里面调度;ftp_irs.bat程序也可以加在win的任务计划定时调度,这样的话,IRS系统数据加载及跑批结果显示.cmd里面就不用再调ftp部分了;JLBK设定的时间分别为早上6:00和6:00以后,可以根据实际情况处理。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: