使用logrotate进行日志轮替

??logrotate是一个日志文件管理工具。用来把旧文件轮转、压缩、删除,并且创建新的日志文件。我们可以根据日志文件的大小、天数等来转储,便于对日志文件管理,一般都是通过cron计划任务来完成的。
一、配置选项说明 composer(nocomposer):是否压缩转存后的就日志
create(nocreate) [mode, user, group]:是否建立新的日志文件
daily(weekly,monthly):日志的轮替周期
missingok:轮替期间,任何错误将被忽略
mail [address]:把转存的日志文件发送到指定邮箱
datetext:采用时间命名日志文件(wtmp-20160909)
size :日志文件到达指定大小时才开始轮替,忽略轮替时间
sharedscripts:后面的命令只执行一次
preroteate(postrotate):轮替前(后)执行的命令
endscript:放到pretotate(postrotate)后面
二、示例说明 logrotate –vf /etc/logrotate.conf:强制轮替日志
logrotate -df /etc/logrotate.conf:调试模式,不轮替日志
/var/log/alert.log { weekly rotate 4sharedscripts prerotate /usr/bin/chattr -a /var/log/alert.log endscriptsharedscripts postrotate /usr/bin/chattr +a /var/log/alert.log endscript }

【使用logrotate进行日志轮替】nginx的日志轮替模板
/usr/local/nginx/log/nginx/*log { create 0644 nginx nginx monthly minsize 100M rotate 4 missingok dateext compresssharedscripts postrotate /bin/kill -USR1 `cat /usr/local/nginx/log/nginx.pid 2>/dev/null` 2>/dev/null || true endscript }

    推荐阅读