Shell腳本切割tomcat的日志文件
鑒于在調(diào)試logback和log4j的文件切割一直無(wú)法成功,隨性用shell寫(xiě)個(gè)腳本用來(lái)切割tomcat下的日志文件(大家如果有在logback或log4j使用文件切割成功的話,可以留下使用方式,先謝謝了)
1:廢話少說(shuō),直接貼上腳本:
#!/bin/sh log_dir=/var/log/tomcat monitor_file=$1 #tomcat目錄下的catalina.out文件的絕對(duì)路徑 file_size=`du $monitor_file | awk '{print $1}'` if [ $file_size -ge 102400 ] then if [ ! -d $log_dir ] then mkdir /var/log/tomcat #創(chuàng)建保存切割文件目錄,這個(gè)路徑可以自行修改,保存到你想要的目錄 fi cp $1 /var/log/tomcat/log-`date +%Y-%m-%d-%H%M%S`.log #保存日志文件 echo `date +%Y-%m-%d-%H:%M:%S`":文件切割" >>/var/log/tomcat/split.log #記錄切割日志 echo "" > $1 #清空tomcat的log/catalina.out文件內(nèi)容 fi
說(shuō)明:這個(gè)腳本很簡(jiǎn)單,linux用個(gè)定時(shí)器沒(méi)分鐘定時(shí)掃描日志文件的大小,就是當(dāng)文件大于100M的時(shí)候,先把文件復(fù)制到指定的目錄,再清空原先tomcat的日志文件。這里是用crontab來(lái)使用定時(shí)器,至于這個(gè)命令的語(yǔ)法在這里就不多說(shuō),有興趣的可以自行g(shù)oogle,這里還是有個(gè)小小的不足,因?yàn)槭前疵糠昼姸〞r(shí)去掃描日志文件,所以最后切割文件大小還是會(huì)在100~102M之間。
然后就用定時(shí)器,定時(shí)執(zhí)行這個(gè)腳本
2:用 crontab -e 編輯定時(shí)器代碼
*/1 * * * * sh /lee_js/monitor_script.sh /opt/apache-tomcat-7.0.67/logs/catalina.out #第一個(gè)路徑是腳本的路徑,第二個(gè)參數(shù)是tomcat下catalina.out文件的絕對(duì)路徑
然后保存
至此搞定日志切割
注:若沒(méi)有crontab命令 可使用 yum安裝:
yum install vixie-cron yum install crontabs
以上所述是小編給大家介紹的Shell腳本切割tomcat的日志文件,希望對(duì)大家有所幫助,如果大家有任何疑問(wèn)請(qǐng)給我留言,小編會(huì)及時(shí)回復(fù)大家的。在此也非常感謝大家對(duì)腳本之家網(wǎng)站的支持!
相關(guān)文章
linux shell自定義函數(shù)(定義、返回值、變量作用域)介紹
linux shell 可以用戶定義函數(shù),然后在shell腳本中可以隨便調(diào)用。下面說(shuō)說(shuō)它的定義方法,以及調(diào)用需要注意那些事項(xiàng)2013-02-02Linux Shell編程繪制國(guó)際象棋棋盤(pán)
這篇文章主要介紹了Linux Shell編程繪制國(guó)際象棋棋盤(pán),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2019-05-05linux定時(shí)任務(wù)基礎(chǔ)命令介紹(14)
這篇文章主要為大家詳細(xì)介紹了linux定時(shí)任務(wù)基礎(chǔ)命令,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2016-12-12Shell腳本實(shí)現(xiàn)監(jiān)控rsync數(shù)據(jù)是否傳輸完
這篇文章主要介紹了Shell腳本實(shí)現(xiàn)監(jiān)控rsync數(shù)據(jù)是否傳輸完,本文直接給出實(shí)現(xiàn)代碼,需要的朋友可以參考下2014-12-12