Tomcat日志文件定時清理備份的腳本
更新時間:2016年12月06日 09:15:15 作者:jaamy
這篇文章主要介紹了Tomcat日志文件定時清理備份的腳本的相關資料,非常不錯,具有參考借鑒價值,需要的朋友可以參考下
以下腳本主要備份的日志文件為tomcat的catalina.out、localhost_access_log.yyyy-mm-dd.log日志和項目的日志文件,其中項目的日志文件格式為"projectname-yyyy-mm-dd.log",以下為備份腳本,具體的操作都有相應的注釋,供大家參考,具體情況請根據日志文件的格式和要求來使用本腳本。
#!/bin/sh ###### # 日志定時運行時間為每天0點1分 # 刪除20天之前的日志文件,壓縮一周之前的日志文件 # 日志文件時間是根據日志名稱后面的日期來計算 # 運行腳本注意日志文件中是否有其他相同后綴的非日志文件和日志文件名稱是否符合要求 ###### #日志文件所在目錄 path=/home/tomcat/apache-tomcat-project/logs #進入日志目錄 cd $path #catalina.out日志文件備份 #獲取前一天的日期 bak_date=`date +%Y-%m-%d -d "1 days ago"` #備份catalina.out日志,后面添加日期 cp catalina.out catalina.out.$bak_date.log #清空catalina.out日志文件 echo > catalina.out #20天之前的日志文件刪除 #獲取20天之前的日期 del_date=`date +%Y-%m-%d -d "20 days ago"` #獲取文件名中的日期字符串,然后對比時間進行相應的操作,localhost_access_log的后綴文件名一般是txt,這里包括txt文件 for n in `ls *.log *.txt -1`;do m=`echo $n | awk -F. '{print $(NF-1)}'` m=`echo ${m:0-10}` if [[ $m < $del_date || $m = $del_date ]];then echo file $n will be deleted. rm -rf $n fi done #一周之前的文件壓縮 #獲取一周之前的日期 zip_date=`date +%Y-%m-%d -d "7 days ago"` #獲取文件名中的日期字符串,然后對比時間進行相應的操作 for n in `ls *.log *.txt -1`;do m=`echo $n | awk -F. '{print $(NF-1)}'` m=`echo ${m:0-10}` echo $n $m if [ ! $m ]; then echo "IS NULL" continue fi if [[ $m < $zip_date || $m = $zip_date ]];then echo file $n will be zip. zip $n.zip $n rm -rf $n fi done
以上所述是小編給大家介紹的Tomcat日志文件定時清理備份的腳本,希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時回復大家的。在此也非常感謝大家對腳本之家網站的支持!
相關文章
解決Tomcat啟動報錯:嚴重:Unable?to?process?Jar?entry?[META-INF/v
這篇文章主要介紹了解決Tomcat啟動報錯:嚴重:Unable?to?process?Jar?entry?[META-INF/versions/9/module-info.class]問題,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教2023-12-12