因爲工作中有一臺服務器因爲tomcat中的catalina.out 產生的日誌太大,導致磁盤空間被佔滿,網站無法正常訪問,但該項目是個老項目,不好直接去修改一些配置,故在linux上做了定時任務來進行catalina.out 的日誌定時刪除。
我們來看步驟
1.在服務器上創建一個 **.sh的文件,我這裏創建的是 clear_tomcat_log.sh
創建的linux指令
cd /usr/local
vi /usr/local/clear_tomcat_log.sh
用vi 指令創建好後,需要在裏面加上如下內容
#!/bin/sh
#clear_tomcat_log
cat /dev/null
#注意下面是你的tomcat 中catalina.out所在的目錄(這句用的時候刪掉)
> /usr/local/tomcat7/logs/catalina.out
然後保存就好了
需要使用chmod 指令把權限換成 755 下面附上linux指令
chmod 755 clear_tomcat_log.sh
然後我們可以進入 你的tomcat 的logs目錄下,使用 下面指令查看下當前你的catalina.out佔的數據大小
cd /usr/local/tomcat/logs
du -sh *
然後我們直接執行剛纔寫好的shell腳本
/usr/local/clear_tomcat_log.sh
然後再次查看catalina.out佔用,發現已經清理掉了,說明shell腳本沒問題
腳本沒問題後就可以開始寫定時任務了
所以我們先通過下面指令設置定時任務
crontab -e
操作方式和vi編輯器一樣,因爲我的定時任務是需要一天執行一次 所以下面附上我的定時任務,每24小時執行一次
* */23 * * * /usr/local/clear_tomcat_log.sh
然後保存退出,然後
使用指令重啓crontab 服務,讓配置生效
service crond restart
大家可以在配置的時候 時間處配置成 /1 * * * 這樣1分鐘運行一下,看看好不好用,好用了再改成上面的每24小時一次
到此這個清理日誌的定時任務就配置好了
linux 清空catalina.out日誌 不需要重啓tomcat
# cd /usr/local/tomcat/logs/
# echo "" > catalina.out
---------------------
原文:https://blog.csdn.net/u013781343/article/details/81365195