場景
無論生產還是測試中,只要你項目嗖的一下子跑起來了,就會產生相關運行的catalina.out日志文件。我覺得看到這篇文章的人,都是過來學習怎樣開啟定時任務來清理tomcat日志的,下面呢,就給大家具體說下吧
Coding
centos版本:6.8
1.首先進入到linux tomcat的/log目錄下找到catalina.out文件
//進入tomcat logs目錄 [root@localhost ~]# cd /usr/local/tomcat7/logs //查看目錄下的文件,我們這邊只需要關注catalina.out文件就可以了,安排~ [root@localhost logs]# ll 總用量 24 -rw-r--r--. 1 root root 6647 1月 4 18:37 catalina.2019-01-04.log -rw-r--r--. 1 root root 6647 1月 4 18:37 catalina.out -rw-r--r--. 1 root root 0 1月 4 16:39 host-manager.2019-01-04.log -rw-r--r--. 1 root root 883 1月 4 18:37 localhost.2019-01-04.log -rw-r--r--. 1 root root 849 1月 4 18:17 localhost_access_log.2019-01-04.txt -rw-r--r--. 1 root root 0 1月 4 16:39 manager.2019-01-04.log //查看catalina.out日志文件大小 [root@localhost logs]# du -h catalina.out 18.5M catalina.out
2.清除日志信息命令:5種方法
https://www.cnblogs.com/ainihaozhen/p/9466524.html (參考)
##重定向方法清空文件
[root@localhost logs]# du -h catalina.out 查看文件大小 17M catalina.out [root@localhost logs]# > catalina.out 重定向清空文件 [root@localhost logs]# du -h catalina.out 查看文件大小 0 catalina.out
##使用true命令重定向清空文件
[root@localhost logs]# du -h catalina.out 448K catalina.out [root@localhost logs]# true > catalina.out [root@localhost logs]# du -h catalina.out 0 catalina.out
##使用cat/dev/null設備來清空文件
// > 直接重定向清空文件 [root@localhost logs]# du -h catalina.out 448K catalina.out [root@localhost logs]# cat /dev/null > catalina.out [root@localhost logs]# du -h catalina.out 0 catalina.out
[root@localhost logs]# du -h catalina.out 448K catalina.out [root@localhost logs]# cat /dev/null catalina.out op:清空‘catalina.out’? y [root@localhost logs]# du -h catalina.out 0 catalina.out
上面已經給出小伙伴們的參考地址了,為了不浪費時間,咱們直接進入正題,前方高能!!!
定時任務清空tomcat日志
1.首先我們得先有個小腳本
//先創建一個空文件夾,我是在 /usr/local/下創建的哦 [root@localhost local]# mkdir tomcat7_sh //在該文件夾下創建一個后綴為.sh的腳本文件 [root@localhost tomcat7_sh]# touch clear_tomcat_log.sh // 使用 vim 命令打開它 [root@localhost tomcat7_sh]# vim clear_tomcat_log.sh //向里面追加如下信息,shift+i 插入 Esc 結束 :wq 保存並退出 #清空tomcat日志信息 cat /dev/null > /usr/local/tomcat7/logs/catalina.out
2.腳本文件賦權
chmod權限建議參考博客:https://www.cnblogs.com/shangzekai/p/5822907.html
// 賦予clear_tomcat_log.sh腳本 [root@localhost tomcat7_sh]# chmod 777 clear_tomcat_log.sh // 進入/tomcat7/logs目錄下測試腳本運行是否正常 [root@localhost logs]# /usr/local/tomcat7_sh/clear_tomcat_log.sh [root@localhost logs]# du -h catalina.out 0 catalina.out // 文件大小為0,證明腳本正常運行了
3.定時任務開啟
這邊大家可以先去百度一下,一個在線cron表達式生成器 http://cron.qqe2.com/
// 編輯定時任務 [root@localhost logs]# crontab -e // 將下面的內容追加進去,我這邊設置的是每三小時執行一次,需要注意的是每天或者每小時運行不需要加/ //正確示范 0 */3 * * * /usr/local/tomcat7_sh/clear_tomcat_log.sh //錯誤示范 0 3 * * * /usr/local/tomcat7_sh/clear_tomcat_log.sh //然后保存退出,重啟crontab 服務,使修改生效 [root@localhost logs]# service crond restart
