Tomcat預設生成的日志檔案catalina.out,随着時間的推移,逐漸增大,可能達到G數量級。檔案過大,我們将無法使用過正常編輯工具檢視,嚴重影響系統維護工作
今天我們使用cronolog工具來做分割
- cronolog安裝使用
A、 cronolog工具下載下傳
官方URL:http://cronolog.org/download/index.html(可能下載下傳不了,可以找度娘)
B、 cronolog編譯安裝
tar xvf cronolog-.tar.gz
./configure
make
sudo make install
C、 修改Tomcat啟動腳本catalina.sh
1、 修改輸出日志路徑
修改:
if [ -z "$CATALINA_OUT" ] ; then
CATALINA_OUT="$CATALINA_BASE"/logs/catalina.out
fi
為:
if [ -z "$CATALINA_OUT" ] ; then
CATALINA_OUT="$CATALINA_BASE"/logs/catalina.%Y-%m-%d.out
fi
2、 删除生成日志檔案
注釋:
touch "$CATALINA_OUT"
為:
#touch "$CATALINA_OUT"
3、 修改啟動腳本參數
修改:
org.apache.catalina.startup.Bootstrap "[email protected]" start \
>> "$CATALINA_OUT" >& "&"
為:
org.apache.catalina.startup.Bootstrap "[email protected]" start >& \
| /usr/local/sbin/cronolog "$CATALINA_OUT" >> /dev/null &
D、 重新開機Tomcat
Tomcat輸出日志檔案分割成功,輸出log檔案格式為:catalina.20XX-XX-XX.out類型
-
Linux定時删除檔案
日志檔案太多了之後需要定時删除
檔案删除指令Find
代碼如下:
find /root/apache-tomcat-/logs -type -f -mtime + -exec rm -rf {} \;
以上指令删除30天以前的過期檔案
指令說明:
/root/apache-tomcat-7.0.54/logs是查找檔案的路徑。
-type f是指定檔案類型為普通檔案。
-mtime +6是指修改時間距離現在6天的檔案。
-exec rm -f指執行删除比對出來的檔案并且不提示,有的系統需要帶單引号,有的不需要。
加入Crontab任務
将以上指令,添加到crontab中,即可實作定期删除了。
比如,每天的0點0分實作删除,可以這樣:
代碼如下:
#crontab -e
* * * find /root/apache/logs -type -f -mtime + -exec rm -rf {} \;