linux自帶日誌管理工具logrotate

1、logrotate
生產上機器的日誌量有可能增加很是快,日誌文件很快就會撐滿磁盤影響線上服務,那麼就須要一個實用的日誌管理工具來代替人工切割日誌,linux自帶的logrotate日誌管理工具徹底能夠知足需求,logrotate能夠自動對日誌進行截斷(或輪詢)、壓縮以及刪除舊的日誌文件,與定時任務crontab結合使用。先看看關於logrotate幾個經常使用參數,其他參數可在命令行man logrotate查看:linux

配置參數 說明
monthly 日誌文件將按月輪詢。其它可用值爲'daily','weekly'或者'yearly'
rotate num 一次將存儲num個歸檔日誌。對於第num+1個歸檔,時間最久的歸檔將被刪除
missingok 在日誌輪詢期間,任何錯誤將被忽略,例如「文件沒法找到」之類的錯誤
notifempty 當目標文件爲空時,不進行輪詢
create 644 root root 指定新建立的日誌文件的權限,同時logrotate也會重命名原始日誌文件
compress 輪詢完成後,對歸檔的文件進行gzip壓縮
delaycompress 和compress配合使用,不對最新歸檔的日誌文件進行gzip壓縮,以便工做人員對最新的歸檔日誌進行查詢
include 與nginx等的include做用一致,指定自定義配置文件的路徑,瘦身主配置文件 ,規範化
postrotate/endscript 在全部其它指令完成後,postrotate和endscript裏面指定的命令將被執行
postrotate/endscript 在全部其它指令執行以前,prerotate和endscript裏面指定的命令將被執行

1.安裝logrotate,在默認centos系統安裝自帶logrotate:
linux自帶日誌管理工具logrotate
2.yum安裝logrotate默認配置文件在/etc/下,查看默認配置文件格式:
linux自帶日誌管理工具logrotate
主配置文件裏面有設置默認的日誌切割,咱們能夠根據這個格式進行添加咱們所需求的日誌切割配置,爲了規範化配置文件,在主配置文件使用include參數:
linux自帶日誌管理工具logrotate
在logrotate.d中自定義配置文件:
linux自帶日誌管理工具logrotate
123.txt是用來測試配置生效的,可自行設置命令
3.手動運行logrotate驗證配置文件:
linux自帶日誌管理工具logrotate
可查看源日誌文件目錄生成了一個新的日誌文件:
linux自帶日誌管理工具logrotate
也能夠在/root目錄下查看是否產生配置文件中設置的123.txt
linux自帶日誌管理工具logrotate
可看到配置文件是生效的
關於logrotate的參數可以使用‘man logrotate’查看詳情,
-f是強制執行一第二天志切割,-v是顯示出具體的輸出
以上配置模板相對比較通用,後期使用時可根據需求調整參數
4.此時,咱們再執行一個yum的任務:
linux自帶日誌管理工具logrotate
再強制執行logrotate:
linux自帶日誌管理工具logrotate
此時再查看yum.log所在目錄會產生一個壓縮和一個新的歸檔日誌文件,可是新的歸檔日誌沒有進行壓縮,這就是咱們設置的conpress和delaycompress參數的做用:
linux自帶日誌管理工具logrotate
2、cron
logrotate是經過cron天天觸發執行的的,可看到cron的配置文件:
linux自帶日誌管理工具logrotate
以此來記錄天天要執行的logrotate的任務nginx

相關文章
相關標籤/搜索