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 4
sharedscripts
prerotate
/usr/bin/chattr -a /var/log/alert.log
endscript
sharedscripts
postrotate
/usr/bin/chattr +a /var/log/alert.log
endscript
}
nginx的日志轮替模板
/usr/local/nginx/log/nginx/*log {
create 0644 nginx nginx
monthly
minsize 100M
rotate 4
missingok
dateext
compress
sharedscripts
postrotate
/bin/kill -USR1 `cat /usr/local/nginx/log/nginx.pid 2>/dev/null` 2>/dev/null || true
endscript
}
网友评论