logrotate配置


logrotate 程序是一個日志文件管理工具。用來把舊的日志文件刪除,並創建新的日志文件,我們把它叫做“轉儲”。我們可以根據日志文件的大小,也可以根據其天數來轉儲,這個過程一般通過 cron 程序來執行。

linux已經默認安裝有logrotate包

1./etc/logrotate.conf  #主配置文件

#配置參數

daily 指定轉儲周期為每天
weekly 指定轉儲周期為每周
monthly 指定轉儲周期為每月
rotate 轉儲次數,超過將會刪除最老的那一個
missingok 忽略錯誤,如“日志文件無法找到”的錯誤提示
dateext 切換后的日志文件會附加上一個短橫線和YYYYMMDD格式的日期
compress 通過gzip 壓縮轉儲舊的日志
delaycompress 當前轉儲的日志文件到下一次轉儲時才壓縮
notifempty 如果日志文件為空,不執行切割
sharedscripts 只為整個日志組運行一次的腳本
prerotate/endscript 在轉儲以前需要執行的命令可以放入這個對,這兩個關鍵字必須單獨成行
postrotate/endscript 在轉儲以后需要執行的命令可以放入這個對,這兩個關鍵字必須單獨成行
size  size當日志文件到達指定的大小時才轉儲,Size 可以指定 bytes (缺省)以及KB (sizek)或者MB (sizem).

2.對zabbix-agent日志進行配置,創建zabbix-agent文件即可

 cat /etc/logrotate.d/zabbix-agent

/var/log/zabbix/zabbix_agentd.log {
weekly
rotate 12
compress
delaycompress
missingok
notifempty
create 0664 zabbix zabbix
}

cd /var/log/zabbix/ && ls -lh   #查看切分后的日志

-rw-rw-r-- 1 zabbix zabbix 75M Aug 19 03:32 zabbix_agentd.log-20180812.gz
-rw-rw-r-- 1 zabbix zabbix 76M Aug 26 03:37 zabbix_agentd.log-20180819.gz
-rw-rw-r-- 1 zabbix zabbix 76M Sep 2 03:13 zabbix_agentd.log-20180826.gz
-rw-rw-r-- 1 zabbix zabbix 76M Sep 9 03:37 zabbix_agentd.log-20180902.gz
-rw-rw-r-- 1 zabbix zabbix 76M Sep 16 03:49 zabbix_agentd.log-20180909.gz
-rw-rw-r-- 1 zabbix zabbix 76M Sep 23 03:34 zabbix_agentd.log-20180916.gz
-rw-rw-r-- 1 zabbix zabbix 605M Sep 19 23:01 zabbix_agentd.log-20180923

3.系統每天運行logrotate來執行,系統已經默認創建

cat /etc/cron.daily/logrotate

#!/bin/sh

/usr/sbin/logrotate /etc/logrotate.conf >/dev/null 2>&1
EXITVALUE=$?
if [ $EXITVALUE != 0 ]; then
/usr/bin/logger -t logrotate "ALERT exited abnormally with [$EXITVALUE]"
fi
exit 0

 

logrotate可以在任何時候從命令行手動調用

logrotate /etc/logrotate.conf


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM