logrotate腳本定時(shí)每日?qǐng)?zhí)行,腳本通常在 /etc/cron.daily/
logrotate對(duì)nginx的配置在,/etc/logrotate.d/nginx
舉例:
/var/log/nginx/*/*.log {
daily
missingok
rotate 5
compress
nodelaycompress
notifempty
create 0644 nginx adm
sharedscripts
prerotate
[ -f /var/run/nginx.pid ] && kill -USR1 `cat /var/run/nginx.pid`
endscript
}
daily,每日輪詢,其他參數(shù)還有weekly、monthly、yearly
missingok,日志路徑不存在時(shí),不報(bào)錯(cuò)
rotate 5,如果時(shí)間是daily,rotate 5代表保留近5天的日志,之前的日志刪掉
compress,記錄完成的日志以gzip格式壓縮
nodelaycompress,在每日輪詢之后壓縮日志
notifempty,日志為空就不輪詢
create 0644 nginx adm,日志模式是0644,owner是nginx,group是adm
sharedscripts,多日志共用同一腳本,不用重啟服務(wù)多次
prerotate,命令開始
endscript,命令結(jié)束