Linux shell脚本输出日志笔记整理(必看篇)

 更新时间:2017年03月17日 10:10:51   投稿:jingxian  
下面小编就为大家带来一篇Linux shell脚本输出日志笔记整理(必看篇)。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧

1、日志方法简介:

#日志名称
log="./upgrade.log"  #操作日志存放路径 
fsize=2000000      #如果日志大小超过上限,则保存旧日志,重新生成日志文件    
exec 2>>$log  #如果执行过程中有错误信息均输出到日志文件中 

#日志函数
#参数
  #参数一,级别,INFO ,WARN,ERROR
    #参数二,内容
#返回值
function zc_log()
{
  #判断格式
  if [ 2 -gt $# ]
  then
    echo "parameter not right in zc_log function" ;
    return ;
  fi
  if [ -e "$log" ]
  then
    touch $log
  fi
  
  #当前时间
  local curtime;
  curtime=`date +"%Y%m%d%H%M%S"`
  
  #判断文件大小
  local cursize ;
  cursize=`cat $log | wc -c` ;

  if [ $fsize -lt $cursize ]
  then
    mv $log $curtime".out"
    touch $log ;
  fi  
  #写入文件
  echo "$curtime $*" >> $log;
} 

2、使用举例

shell脚本内容:

#! /bin/bash
#数据库变量
localpasswd=xxxx
mysqlhost=xxxx
mysqluser=xxxx
mysqlpasswd=xxxx 

#日志名称
log="./upgrade.log"  #操作日志存放路径 
fsize=2000000         
exec 2>>$log  #如果执行过程中有错误信息均输出到日志文件中 

#日志函数
#参数
  #参数一,级别,INFO ,WARN,ERROR
    #参数二,内容
#返回值
function zc_log()
{
  #判断格式
  if [ 2 -gt $# ]
  then
    echo "parameter not right in zc_log function" ;
    return ;
  fi
  if [ -e "$log" ]
  then
    touch $log
  fi
  
  #当前时间
  local curtime;
  curtime=`date +"%Y%m%d%H%M%S"`
  
  #判断文件大小
  local cursize ;
  cursize=`cat $log | wc -c` ;

  if [ $fsize -lt $cursize ]
  then
    mv $log $curtime".out"
    touch $log ;
  fi  
  #写入文件
  echo "$curtime $*" >> $log;
} 


echo "start update shell" ;

mysql -h$sqlip -u$sqluser -p$sqlpasswd -e "use $db;
set names gbk;

--
-- 表的结构 msgm_qdjyly
--

DROP TABLE IF EXISTS msgm_qdjyly;
CREATE TABLE IF NOT EXISTS msgm_qdjyly (
 jylyid int(11) NOT NULL AUTO_INCREMENT COMMENT '主键id',
 jylb varchar(20) DEFAULT NULL COMMENT '交易类别',
 jylbmc varchar(50) DEFAULT NULL COMMENT '交易类别名称',
 jgm varchar(10) NOT NULL COMMENT '机构码',
 lyfs int(11) NOT NULL COMMENT '路由方式,1指定渠道,2按卡bin渠道',
 qdbh varchar(20) DEFAULT NULL COMMENT '渠道编号',
 qdmc varchar(50) DEFAULT NULL COMMENT '渠道名称',
 zt int(11) NOT NULL DEFAULT '1' COMMENT '状态,1正常,2关闭',
 bz varchar(100) DEFAULT NULL COMMENT '备注',
 PRIMARY KEY (jylyid)
) ENGINE=InnoDB DEFAULT CHARSET=gbk COMMENT='交易路由信息' AUTO_INCREMENT=7 ;
zc_log INFO "执行 CREATE TABLE msgm_qdjyly 命令的结果为 : $? " ; 
echo "执行 CREATE TABLE msgm_qdjyly 命令的结果为 : $? " ; 

以上这篇Linux shell脚本输出日志笔记整理(必看篇)就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持脚本之家。

相关文章

  • cpu时钟预取实例代码分享

    cpu时钟预取实例代码分享

    cpu时钟预取实例代码分享,大家参考使用吧
    2013-12-12
  • Shell脚本实现监控iptables规则是否被修改

    Shell脚本实现监控iptables规则是否被修改

    这篇文章主要介绍了Shell脚本实现监控iptables规则是否被修改,本文直接给出实现代码,需要的朋友可以参考下
    2014-12-12
  • shell脚本递归遍历目录及子目录的例子分享

    shell脚本递归遍历目录及子目录的例子分享

    这篇文章主要介绍了shell脚本递归遍历目录及子目录的例子,需要的朋友可以参考下
    2014-04-04
  • 如何在Linux下修改Mysql的用户(root)密码

    如何在Linux下修改Mysql的用户(root)密码

    这篇文章主要介绍了如何在Linux下修改Mysql的用户(root)密码,分两种情况:第一种当拥有原来的mysql的root密码,第二种情况忘记原来的mysql的root的密码,需要的朋友可以参考下
    2015-08-08
  • linux crontab 实现每秒执行的实例

    linux crontab 实现每秒执行的实例

    下面小编就为大家带来一篇linux crontab 实现每秒执行的实例。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2017-04-04
  • Linux shell脚本全面学习入门

    Linux shell脚本全面学习入门

    这篇文章主要为大家分享下Linux shell脚本相关的资料,对于linux系统中,shell脚本非常实用并强大
    2013-10-10
  • shell脚本实现实时检测文件变更

    shell脚本实现实时检测文件变更

    这篇文章主要介绍了shell脚本实现实时检测文件变更,本文直接给出实现代码和使用方法,以及svn下的实现代码,需要的朋友可以参考下
    2015-05-05
  • 浅谈shell的一些循环格式

    浅谈shell的一些循环格式

    这篇文章主要介绍了浅谈shell的一些循环格式,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2019-11-11
  • shell wait等待命令的具体使用

    shell wait等待命令的具体使用

    本文主要介绍了shell wait等待命令的具体使用,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2023-01-01
  • Shell 批量进程判断是否存在

    Shell 批量进程判断是否存在

    本文主要介绍了Shell 批量进程判断是否存在,文中通过示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2021-09-09

最新评论