您的位置:首页 > 运维架构 > Shell

shell 脚本执行日志通用模块

2016-04-02 18:44 459 查看

目标

实现记录SHELL执行的開始时间,结束时间。执行状态,错误信息等,以函数封装日志记录的方式,脚本调用函数

源代码

通用函数脚本program_log_new.sh
function init_log()
{
sqlplus -S test/passw0rd@orcl <<EOF
insert into program_log values($id,$day,'$1', sysdate,null,'S',null);
commit
exit
EOF
}
function modify_status(){
sqlplus -S test/passw0rd@orcl <<EOF
update program_log set program_status='$1',end_date=sysdate where id=$id;
commit
exit
EOF
}

function exception_write(){
if [ $? -ne 0 ]
then
modify_status $status2
exit 1
fi
}
function finish_write(){
if [ $? -eq 0 ]
then
modify_status $status1
#modify_status $1 $2 $3
else
#  modify_status $1 $2 $3
modify_status $status2
exit 1
fi
}
status1=C
status2=F
day=`date "+%Y%m%d"`
id=`sqlplus -S user/1234@test <<EOF
set heading off
select  program_log_seq.nextval from dual;
commit
exit
EOF`
#!/bin/sh
. ~/.bash_profile
source program_log_new.sh    //公用脚本

init_log sh_xx                                            //初始化日志函数调用,传入程序名

shell命令xxx 2>${logdir}/xx_$time.log
exception_write                                       //发生异常。调用异常,程序退出

shell命令xxx 2>${logdir}/xx_$time.log
exception_write                                       //发生异常。调用异常。程序退出
....
shell命令xxx 2>${logdir}/xx_$time.log
finish_write                                       //发生异常,调用异常,程序退出
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: