溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

Linux中shell腳本輸出日志的示例分析

發(fā)布時間:2021-07-15 09:55:28 來源:億速云 閱讀:203 作者:小新 欄目:開發(fā)技術(shù)

這篇文章給大家分享的是有關(guān)Linux中shell腳本輸出日志的示例分析的內(nèi)容。小編覺得挺實用的,因此分享給大家做個參考,一起跟隨小編過來看看吧。

1、日志方法簡介:

#日志名稱
log="./upgrade.log"  #操作日志存放路徑 
fsize=2000000      #如果日志大小超過上限,則保存舊日志,重新生成日志文件    
exec 2>>$log  #如果執(zhí)行過程中有錯誤信息均輸出到日志文件中 

#日志函數(shù)
#參數(shù)
  #參數(shù)一,級別,INFO ,WARN,ERROR
    #參數(shù)二,內(nèi)容
#返回值
function zc_log()
{
  #判斷格式
  if [ 2 -gt $# ]
  then
    echo "parameter not right in zc_log function" ;
    return ;
  fi
  if [ -e "$log" ]
  then
    touch $log
  fi
  
  #當(dāng)前時間
  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腳本內(nèi)容:

#! /bin/bash
#數(shù)據(jù)庫變量
localpasswd=xxxx
mysqlhost=xxxx
mysqluser=xxxx
mysqlpasswd=xxxx 

#日志名稱
log="./upgrade.log"  #操作日志存放路徑 
fsize=2000000         
exec 2>>$log  #如果執(zhí)行過程中有錯誤信息均輸出到日志文件中 

#日志函數(shù)
#參數(shù)
  #參數(shù)一,級別,INFO ,WARN,ERROR
    #參數(shù)二,內(nèi)容
#返回值
function zc_log()
{
  #判斷格式
  if [ 2 -gt $# ]
  then
    echo "parameter not right in zc_log function" ;
    return ;
  fi
  if [ -e "$log" ]
  then
    touch $log
  fi
  
  #當(dāng)前時間
  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;

--
-- 表的結(jié)構(gòu) 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 '機構(gòu)碼',
 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 '狀態(tài),1正常,2關(guān)閉',
 bz varchar(100) DEFAULT NULL COMMENT '備注',
 PRIMARY KEY (jylyid)
) ENGINE=InnoDB DEFAULT CHARSET=gbk COMMENT='交易路由信息' AUTO_INCREMENT=7 ;
zc_log INFO "執(zhí)行 CREATE TABLE msgm_qdjyly 命令的結(jié)果為 : $? " ; 
echo "執(zhí)行 CREATE TABLE msgm_qdjyly 命令的結(jié)果為 : $? " ;

感謝各位的閱讀!關(guān)于“Linux中shell腳本輸出日志的示例分析”這篇文章就分享到這里了,希望以上內(nèi)容可以對大家有一定的幫助,讓大家可以學(xué)到更多知識,如果覺得文章不錯,可以把它分享出去讓更多的人看到吧!

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI