yum install logrotate -y
#
/etc/logrotate.d/nginx
/usr/local/nginx/logs/*.log {
daily
rotate 5
missingok
notifempty
sharedscripts
postrotate
if [ -f /usr/local/nginx/logs/nginx.pid ]; then
kill -USR1 `cat /usr/local/nginx/logs/nginx.pid`
fi
endscript
}
/etc/logrotate.d/openresty
/usr/local/openresty/nginx/logs/*log {
daily
missingok
rotate 7
notifempty
sharedscripts
postrotate
[ ! -f /usr/local/openresty/nginx/logs/nginx.pid ] || kill -USR1 `cat /usr/local/openresty/nginx/logs/nginx.pid`
endscript
}
更新配置
logrotate /etc/logrotate.conf
daily: 日志文件将按天轮循 weekly: 日志文件将按周轮循 monthly: 日志文件将按月轮循 rotate 7: 一次存储7个日志文件。时间最久的那个日志文件将被删除 notifempty: 如果是空文件的话,不进行转储 minsize 1M: 日志文件大于1M才会去轮转; sharedscripts: 共享脚本,让postrotate/endscript包含脚本只执行一次即可; postrotate/endscript:在所有其它指令完成后,postrotate和endscript里面指定的命令将被执行