Tomcat日志清理日常必不可少,這里記錄一下平時使用命令。
1、清除catalina.out文件
cd /data1/tomcat8/tomcat/log
echo -n " " > catalina.out
拓展:
catalina.out即標准輸出和標准出錯,所有輸出到這兩個位置的都會進入catalina.out,這里包含tomcat運行自己輸出的日志以及應用里向console輸出的日志。catalina.{yyyy-MM-dd}.log是tomcat自己運行的一些日志,這些日志還會輸出到catalina.out,但是應用向console輸出的日志不會輸出到catalina.{yyyy-MM-dd}.log。localhost.{yyyy-MM-dd}.log主要是應用初始化(listener, filter, servlet)未處理的異常最后被tomcat捕獲而輸出的日志,而這些未處理異常最終會導致應用無法啟動。
參考:https://blog.csdn.net/itzhangdaopin/article/details/79139777
2、清除.log及.txt及.gz結尾的日志文件,安全起見,不要直接刪除,先把要刪除的文件移動到另外一個目錄下,再刪除;這里刪除的是30天以前的日志文件。
find /data1/tomcat8/tomcat/log -mtime +30 -name "*.log" | xargs -i mv {} /data1/tomcat8/tomcat/log/temp;
find /data1/tomcat8/tomcat/log/temp -name "*.log" -exec rm -rf {} \;
find /data1/tomcat8/tomcat/log -mtime +30 -name "*.txt" | xargs -i mv {} /data1/tomcat8/tomcat/log/temp;
find /data1/tomcat8/tomcat/log/temp -name "*.txt" -exec rm -rf {} \;
find /data1/tomcat8/tomcat/log -mtime +30 -name "*.gz" | xargs -i mv {} /data1/tomcat8/tomcat/log/temp;
find /data1/tomcat8/tomcat/log/temp -name "*.gz" -exec rm -rf {} \;
拓展:不想每次都復制運行命令,可以寫成腳本文件,定時執行。
注:.sh文件第一行加上 #!/bin/sh ,指定你運行腳本的shell類型
運行.sh文件的兩種方式:
一、直接./加上文件名.sh,如運行hello.sh為./hello.sh【hello.sh必須有x權限】
二、直接sh 加上文件名.sh,如運行hello.sh為sh hello.sh【hello.sh可以沒有x權限】
