程序在運行的時候為了了解運行狀態,會輸出日志文件,時間久了日志文件會變得非常大。
1、 logrotate簡介:
強大的系統軟件,對日志文件有着一套完整的操作模式。
例如:轉儲
把舊的日志文件刪除,並創建新的日志文件。
可以根據日志文件的大小,也可以根據其天數來轉儲,這個過程一般通過 cron 程序來執行。
默認logrotate加到cron(/etc/cron.daily/logrotate)作為每日任務執行。
通過讓用戶來配置規則的方式,檢測和處理日志文件。
並且可以配合Cron處理定時任務。
預制了大量判斷條件和處理方式。
等等。
2、 安裝logrotate
sudo yum install -y logrotate

3、logrotate組成
/usr/sbin/logrotate程序所在位置。

/etc/cron.daily/logrotate 默認讓Cron每天執行logrotate一次。

/etc/logrotate.conf全局配置文件。
參數解釋:
第3行:weekly指定所有的日志文件每周轉儲一次。
第6行:rotate 4指定轉儲文件的保留4份。
第9行:create指定logrotate自動建立新的日志文件,新的日志文件具有和
原來的文件一樣的權限。
第12行:dateext指定文件后綴是日期格式。
第18行:include選項允許系統管理員把分散到幾個文件的轉儲信息,集中到一個
主要的配置文件。當 logrotate從logrotate.conf讀到include 選項時,會從指定文件讀入配置信息。
注意:
include 選項十分重要,一些應用把日志轉儲參數存放在/etc/logrotate.d。
系統管理員也只需要管理/etc/logrotate.conf下面文件就OK了。
如下:我們的tomcat會放在/etc/logrotate.d下面。

/etc/logrotate.d/應用自己的配置文件存放目錄,覆蓋全局配置。
注意:
為了方便管理我們一般把配置文件放在/etc/logrotate.conf下面。

3、運行機制:
系統會定時運行logrotate,系統是按天執行的。
crontab會每天定時執行/etc/cron.daily/logrotate腳本。

4、配置對catalina.out日志切割文件
注意:
放在/etc/logrotate.d下。
sudo vim /etc/logrotate.d/tomcat
寫入:
/home/odysee/General/tomcat8.5/logs/catalina.out{
daily
copytruncate
rotate 30
compress
notifempty
dateext
missingok
}

配置文件參數解釋:
daily 表示每天整理一次
rotate 5 指定日志文件刪除之前轉儲次數,0沒有備份,5保留5個備份
dateext 文件后綴是日期格式
copytruncate 用於還在打開中的日志文件,把當前日志備份並截斷
compress 通過gzip壓縮轉儲以后的日志(gzip -d xxx.gz解壓)
missingok 如果日志不存在則忽略該警告信息
notifempty 如果是空文件的話,不轉儲
#size 5M 當catalina.out大於5M就進行切割
5、 測試
One、調試(d = debug)參數為配置文件,不指定則執行全局配置文件
logrotate -d /etc/logrotate.d/tomcat.conf
Two、強制執行(-f = force),可配合-v(-v =verbose)使用,注意調試信息默認攜帶-v
logrotate -v -f /etc/logrotate.d/tomcat.conf
立即截斷日志:
sudo logrotate -v -f /etc/logrotate.d/tomcat

每天自動幫我們分隔日志並進行打包。
歡迎大家給予寶貴的意見或者建議。
歡迎大家補充或者共享一些其他的方法。
感謝支持。
轉自https://www.toutiao.com/a6642566139274592781/?timestamp=1583109565&app=news_article&group_id=6642566139274592781&req_id=202003020839240100140470142EAC8FF0
喜歡這篇文章?歡迎打賞~~