天天看點

Linux 定時任務 将Tomcat日志 按每天分割

前言

嗯~~他們都說紅色标題喜慶,哈哈,嘤嘤嘤。。

今天這篇部落格記錄一下如何将tomcat日志,

分割

成每天一個日志檔案,友善儲存和查詢。

也就是将tomcat下面的

catalina.out

(預設日志輸入檔案)分隔成獨立的日志檔案,名字以catalina.year-month-day.log命名,例如

catalina.2018-07-23.log

ps:如果對

linux crontab

find + rm聯合操作

不是很了解的同學,請一定先看完下面兩篇部落格。貼上部落格原文連結:

1.關于Crontab:Linux Crontab 安裝使用詳細說明

2.關于find+rm:linux的一個find指令配合rm删除某天前的檔案

思路

先說說我為什麼突然想要處理一下tomcat日志呢??因為今天早晨,我檢視公司正式服日志的時候,發現打開日志有些卡頓。

開始以為是網太慢,導緻正式伺服器卡頓。而測試服卻沒有任何異常。

後面老大讓我看看日志檔案的大小。不看不知道,一看吓了一跳。上周五是我們這個項目第一次推送,當時看了下日志大小才40M。沒想到僅僅周末兩天,新注冊使用者已經有接近

4w

了。日志檔案更是快接近

500M

了;真是恐怖呢!!日志大小如截圖:

Linux 定時任務 将Tomcat日志 按每天分割

嗯~~三天時間,日志就快接近500M了,該處理了!

這裡,我們使用定時任務來處理日志,linux 的

crontab

元件也就派上用處了。希望你們看了上面我推薦的那兩篇部落格。

也就是先寫個腳本,作用就是将目前的

catalina.out

中的内容複制到一個新的日志檔案

catalina.2018-07-23.log

中,複制完後,将

catalina.out

清空。然後讓linux系統每天淩晨按時幫我們執行這個腳本,就OK了。也就達到了将日志分割開的目的。

操作

1.切換到tomcat的logs檔案夾下面,檢視目前日志:

Linux 定時任務 将Tomcat日志 按每天分割

2.檢視tomcat預設輸入日志大小

Linux 定時任務 将Tomcat日志 按每天分割

3.切換到腳本檔案目錄:

4.建立腳本

auto-deal-log.sh

echo '' > auto-deal-log.sh
           

5.編寫腳本

auto-deal-log.sh

以下是完整的腳本,很簡單。

# 複制日志檔案内容到新的檔案中
cp /opt/softinstall/tomcat_gxj_01/logs/catalina.out /opt/softinstall/tomcat_gxj_01/logs/catalina_`date -d '-1 days' +%Y%m%d`.log

# 清空tomcat預設日志輸出檔案
echo "" > /opt/softinstall/tomcat_gxj_01/logs/catalina.out

# 如果有多個tomcat,複制一份即可
cp /opt/softinstall/tomcat_gxj_02/logs/catalina.out /opt/softinstall/tomcat_gxj_02/logs/catalina_`date -d '-1 days' +%Y%m%d`.log
echo "" > /opt/softinstall/tomcat_gxj_02/logs/catalina.out

# 查找并清理不需要的檔案
find /opt/softinstall/tomcat*/logs/ -mtime + -name "*" -exec rm -rf {} \;
           

6.腳本授權

7.如果是在正式服,建議執行腳本前,先備份日志

8.這個時候可以測試我們的腳本了

ok,到了這裡,腳本執行成功後,看預設日志輸出檔案是否被清空,且生成了昨天的日志檔案。如果都沒問題,就可以指定linux的

Crontab

每日淩晨執行一次這個腳本了。

9.設定crontab指令,指定每日定時任務

crontab -l # 檢視目前是否存在任務
crontab -e # 編輯 指定執行哪個腳本以及執行時間
  * * * /opt/sh/auto-deal-log.sh     # 每日淩晨執行分割日志腳本


ps:A.編輯完成後,:wq儲存并退出  
           

操作如下面截圖:

Linux 定時任務 将Tomcat日志 按每天分割

這個時候,或許你還要了解一下定時任務文法:

Linux 定時任務 将Tomcat日志 按每天分割

詳情請點選這裡:Linux系統編寫定時任務流程規範及注意事項

10.操作Crontab,讓配置生效

Ok。。等明天早上再來看看,你的腳本是否執行了吧,QAQ

往後餘生,風雪是你。

繼續閱讀