方法篇:tomcat日志切割和定期刪除

tomcat日志切割和定期刪除
在tomcat的軟件環(huán)境中,如果我們?nèi)斡扇罩疚募o限增長,總有一天會將磁盤占滿的(廢話)。特別是在日志文件增長速度很快的一些情況下,按日志切割日志文件并刪除,就是一件很有必要的工作了,以下介紹了切割日志文件的方法。
第1章?系統(tǒng)環(huán)境
1.1?操作系統(tǒng)環(huán)境
[root@server1 ~]# cat /etc/redhat-release
CentOS release 6.5?(Final)
[root@server1 ~]# uname -r
2.6.32-431.el6.x86_64
[root@server1 ~]# uname -m
x86_641.2 jdk環(huán)境
[root@server1 ~]# java?-version
java?version?"1.7.0_67"
Java(TM) SE?Runtime?Environment?(build?1.7.0_67-b01)
Java?HotSpot(TM) Server?VM?(build?24.65-b04, mixed?mode)1.3 tomcat環(huán)境
[root@server1 ~]# /opt/gw/tomcat7/bin/catalina.sh?version
Using CATALINA_BASE: /opt/gw/tomcat7
Using CATALINA_HOME: /opt/gw/tomcat7
Using CATALINA_TMPDIR: /opt/gw/tomcat7/temp
Using JRE_HOME: /usr/local/jdk1.7
Using CLASSPATH: /opt/gw/tomcat7/bin/bootstrap.jar:/opt/gw/tomcat7/bin/tomcat-juli.jar
Server version: Apache Tomcat/7.0.57
Server built:???Nov 3?2014?08:39:16?UTC
Server number: 7.0.57.0????????????????#<==tomcat-7.5.57版本
OS Name: Linux
OS Version: 2.6.32-431.el6.x86_64
Architecture: i386
JVM Version: 1.7.0_67-b01
JVM Vendor: Oracle Corporation第2章?切割工具cronolog
2.1 cronolog的介紹
Cronolog是一個過濾器程序,它從標(biāo)準(zhǔn)輸入讀取日志文件條目,并將每個條目寫入由文件名模板和當(dāng)前日志所指定的輸出文件中。?當(dāng)擴(kuò)展文件名改變時,關(guān)閉當(dāng)前文件,并打開一個新文件。Cronolog是為了與Apache等Web服務(wù)器一起使用,將訪問日志分為每日或每月日志。
2.2 cronolog的安裝
2.2.1?下載cronolog
cd?/usr/local/src
wget https://files.cnblogs.com/files/crazyzero/cronolog-1.6.2.tar.gz
[root@kafka01 src]# md5sum cronolog-1.6.2.tar.gz
a44564fd5a5b061a5691b9a837d04979 cronolog-1.6.2.tar.gz #<==cronolog的MD5碼2.2.2?編譯安裝
[root@kafka01 src]# tar xf cronolog-1.6.2.tar.gz
[root@kafka01 src]# cd cronolog-1.6.2
[root@kafka01 cronolog-1.6.2]# ./configure #<==編譯,此前先確保安裝cmake等編譯工具
[root@kafka01 cronolog-1.6.2]# make && make install #<==安裝
[root@kafka01 cronolog-1.6.2]# which cronolog #<==檢查是否安裝成功,如果有結(jié)果則安裝成功
/usr/local/sbin/cronolog2.3 cronolog命令
[root@server1 ~]# which cronolog
/usr/local/sbin/cronolog #<==cronolog命令的存放路徑
使用man幫助命令查看cronolog使用語法:
[root@server1 ~]# man cronolog
NAME
???????cronolog - write?log?messages?to?log?files?named according to?a?template
??
SYNOPSIS
???????cronolog [OPTION]... template第3章?配置tomcat日志切割
配置日志切割,只需修改配置文件catalina.sh(如果windows則是catalina.bat,這里不介紹windows情況)即可。大概在catalina文件中的第380行和第390行左右,修改如下:
(1)內(nèi)容:
org.apache.catalina.startup.Bootstrap "$@"?start \
>> "$CATALINA_OUT"?2>&1 "&"替換為:
org.apache.catalina.startup.Bootstrap "$@"?start \
2>&1 |/usr/local/sbin/cronolog "$CATALINA_BASE/logs/catalina-%Y-%m-%d.out"?&(2)內(nèi)容:
org.apache.catalina.startup.Bootstrap "$@"?start \
>> "$CATALINA_OUT"?2>&1 "&"替換為:
org.apache.catalina.startup.Bootstrap "$@"?start \
2>&1 |/usr/local/sbin/cronolog "$CATALINA_BASE/logs/catalina-%Y-%m-%d.out"?&配置完成后,重啟tomcat即可!!!!
第4章?定時刪除過期日志
在這里直接使用linux自帶的crontab定時任務(wù)工具,設(shè)置每天凌晨00:00執(zhí)行刪除任務(wù),刪除7天以前的日志文件。
crontab -e #<==直接輸入該命令,添加一個定時任務(wù)計(jì)劃
00?00?* * * /bin/find /opt/gdyy/tomcat7/logs/?-type f -mtime +7?| xargs rm -f &>/dev/null??#<==查找tomcat/logs下面的日志文件,并刪除7天以前的日志,添加完成后保存退出!![root@server1 ~]# crontab -l #<==查看定時任務(wù)計(jì)劃
#remove gw log 7 days ago by liutao at 2018-02-08
00?00?* * * /bin/find /opt/gw/tomcat7/logs/?-type f -mtime +7?| xargs -i mv {} /data/bak/gw_log/??&>/dev/nulltomcat日志切割并定時刪除完成!!!
覺得不錯點(diǎn)個“在看”喲!
