zoukankan      html  css  js  c++  java
  • shell 脚本执行日志通用模块

    目标

    实现记录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                                       //发生异常,调用异常,程序退出



  • 相关阅读:
    [原]Linux 命令行浏览器
    Linux 命令行浏览器
    [原]Linux 命令行 发送邮件
    Linux 命令行 发送邮件
    [原]Linux 修改时区
    Linux 修改时区
    [原]Ubuntu 下安装Mongodb
    离线解密RDP凭证密码
    [Win]权限维持
    Nginx反向代理
  • 原文地址:https://www.cnblogs.com/bhlsheji/p/5348013.html
Copyright © 2011-2022 走看看