2

/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

任意のアイデア、私は何が欠けていますか?

4

1 に答える 1

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.
    
  • オプションが使用されている場合、logrotateはここに記載されているように、、、、およびオプションsizeを無視しますdailyweeklymonthlyyearly

  • サイズなどの基準を確認するために、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はログのサイズを毎日チェックし、必要に応じてローテーションを実行します。

于 2013-06-21T08:18:20.083 に答える