/etc/logrotate.conf说rotate logs "weekly"
/etc/logrotate.d/ssh说
/var/log/ssh.log {
compress
dateext
maxage 120
rotate 99
missingok
notifempty
size +4096k
create 640 root p4admin
sharedscripts
postrotate
/etc/init.d/syslog reload
endscript
}
/var/lib/logrotate.status说最后一次在“/var/log/ssh.log”上旋转了ssh 2013-1-4
但上述内容与我们在文件中看到的数据不符......
-rw-r----- 1 root user 201M Jan 4 09:47 /var/log/ssh.log
-rw-r----- 1 root user 65M Oct 19 04:02 /var/log/ssh.log-20121019.gz
-rw-r----- 1 root user 64M Nov 28 04:02 /var/log/ssh.log-20121128.gz
-rw-r----- 1 root user 63M Oct 23 04:02 /var/log/ssh.log-20121023.gz
任何想法,我错过了什么?
答案 0 :(得分:1)
weekly
中的 /etc/logrotate.conf
表示如果未在本地覆盖此选项,则每周都会轮换所有日志文件。
手册说:
Each configuration file can set global options (local definitions over-
ride global ones, and later definitions override earlier ones) and
specify logfiles to rotate.
如果使用了size
选项,则logrotate将忽略所述的daily
,weekly
,monthly
和yearly
选项{{ 3}}
logrotate 以检查大小等标准。如果适用,日志会同时轮换。
手册说:
Normally, logrotate is run as a daily cron job. It will not modify a
log multiple times in one day unless the criterion for that log is
based on the log's size and logrotate is being run multiple times each
day, or unless the -f or --force option is used.
因此, logrotate 每天检查日志的大小,并在必要时执行轮换。