/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。"/var/log/SSH .log"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
你知道我错过了什么吗?
-
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
选项 每天执行 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每天检查日志的大小,并在必要时执行旋转。