Linux shell腳本輸出日志筆記整理(必看篇)
1、日志方法簡(jiǎn)介:
#日志名稱 log="./upgrade.log" #操作日志存放路徑 fsize=2000000 #如果日志大小超過(guò)上限,則保存舊日志,重新生成日志文件 exec 2>>$log #如果執(zhí)行過(guò)程中有錯(cuò)誤信息均輸出到日志文件中 #日志函數(shù) #參數(shù) #參數(shù)一,級(jí)別,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)前時(shí)間 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 #寫(xiě)入文件 echo "$curtime $*" >> $log; }
2、使用舉例
shell腳本內(nèi)容:
#! /bin/bash #數(shù)據(jù)庫(kù)變量 localpasswd=xxxx mysqlhost=xxxx mysqluser=xxxx mysqlpasswd=xxxx #日志名稱 log="./upgrade.log" #操作日志存放路徑 fsize=2000000 exec 2>>$log #如果執(zhí)行過(guò)程中有錯(cuò)誤信息均輸出到日志文件中 #日志函數(shù) #參數(shù) #參數(shù)一,級(jí)別,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)前時(shí)間 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 #寫(xiě)入文件 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 '交易類(lèi)別', jylbmc varchar(50) DEFAULT NULL COMMENT '交易類(lèi)別名稱', jgm varchar(10) NOT NULL COMMENT '機(jī)構(gòu)碼', lyfs int(11) NOT NULL COMMENT '路由方式,1指定渠道,2按卡bin渠道', qdbh varchar(20) DEFAULT NULL COMMENT '渠道編號(hào)', 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é)果為 : $? " ;
以上這篇Linux shell腳本輸出日志筆記整理(必看篇)就是小編分享給大家的全部?jī)?nèi)容了,希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。
相關(guān)文章
Shell動(dòng)態(tài)生成數(shù)組的多種方法
這篇文章主要介紹了Shell動(dòng)態(tài)生成數(shù)組的多種方法,本文給出while循環(huán)法和for循環(huán)法,以及使用seq生成數(shù)組法,需要的朋友可以參考下2015-07-07Linux Shell腳本系列教程(四):使用函數(shù)添加環(huán)境變量
這篇文章主要介紹了Linux Shell腳本系列教程(四):使用函數(shù)添加環(huán)境變量,本文對(duì)環(huán)境變量的一知識(shí)作了介紹,并給出普通添加環(huán)境變量和使用函數(shù)添加環(huán)境變量的方法,需要的朋友可以參考下2015-06-06同一個(gè)文件在windows和linux下計(jì)算md5哈希不一致的原因及解決方法
下面小編就為大家?guī)?lái)一篇同一個(gè)文件在windows和linux下計(jì)算md5哈希不一致的原因及解決方法。小編覺(jué)得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2017-03-03Linux?shell中$(())、$()、``與${}的區(qū)別
本文主要介紹了Linux?shell中$(())、$()、``與${}的區(qū)別,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2023-06-06Linux shell腳本基礎(chǔ)學(xué)習(xí)詳細(xì)介紹(完整版)
Linux shell腳本基礎(chǔ)學(xué)習(xí)我們將分幾講來(lái)慢慢細(xì)說(shuō),希望能對(duì)想學(xué)習(xí)Linux shell腳本編程的初學(xué)者有一個(gè)明確的幫助,水平得到提高2013-07-07shell腳本殺死指定端口進(jìn)程的實(shí)現(xiàn)示例
隨著越來(lái)越廣泛的Linux系統(tǒng)使用,如何輕松殺死指定程序端口成為了很多系統(tǒng)管理員最迫切關(guān)心的問(wèn)題,本文就詳細(xì)的介紹一下如何實(shí)現(xiàn),感興趣的可以了解一下2023-10-10linux生成(加載)動(dòng)態(tài)庫(kù)靜態(tài)庫(kù)和加載示例方法
這篇文章主要介紹了linux生成(加載)動(dòng)態(tài)庫(kù)靜態(tài)庫(kù)示例方法,大家參考使用2013-11-11