解決Tomcat Log不斷成長導致檔案過大的問題
一、前言
Linux默認都將應用日誌打印在catalina.out,隨著時間的推移,逐漸增大,可能達到G數量級。文件過大,我們將無法使用過常規編輯工具查看,嚴重影響系統維護工作,為了實現像其它日誌文件一樣按日期歸檔,這裡介紹採用cronolog來完成日誌分割。
二、環境&工具
n Linux OS - ubuntu-16.04.6
n Cronolog – 1.6.2+rpk-1ubuntu1
三、安装Cronolog
1. 更新系統、安裝軟件包
n
運行此命令來更新系統,就可以開始安裝軟件包。
sudo apt-get update
2. Install cronolog
n 執行以下指令安裝cronolog
sudo apt-get install cronolog
3. 查看是否安装成功
which cronolog
结果:/usr/bin/cronolog (cronolog的安裝路徑)
四、修改catalina.sh文件
n 修改Tomcat下bin / catalina.sh文件
n 打開catalina.sh文件
vi catalina.sh
n 修改文件內容:
1. 第一步,以tomcat-8.5.42為例 大概在 212~ 214行
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" (446行)
改為 #touch "$CATALINA_OUT"
3.第三步 (461、472行)
將
org.apache.catalina.startup.Bootstrap "$@" start /
>> "$CATALINA_OUT" 2>&1 &
修改為
org.apache.catalina.startup.Bootstrap "$@" start \
>> /usr/local/sbin/cronolog "$CATALINA_OUT" >> /dev/null &
五、重新啟動Tomcat
n service tomcat restart
可以在Tomcat的logs目錄底下找到以系統日期為結尾的catalina. yyyy-mm-dd.out的檔案,這樣子就成功了。
後續就是持續觀察看看是不是每天都有產生一個新的catalina. yyyy-mm-dd.out檔案。然後再安排定期刪除這些較舊的log檔即可。