在/var/log下的日志,每7天將切分log,原有log命名為xxx.1,並且累積到一個月後自動刪除。但是有的服務器不切分log。
解決方案
log切分是由 /etc/cron.daily/logrotate 完成的。他的配置文件是:
/etc/logrotate.conf
其內容如下:
—————————————————–
# see “man logrotate” for details
# rotate log files weekly
weekly
# keep 4 weeks worth of backlogs
rotate 4
# create new (empty) log files after rotating old ones
create
# uncomment this if you want your log files compressed
#compress
# RPM packages drop log rotation information into this directory
include /etc/logrotate.d
# no packages own wtmp — we’ll rotate them here
/var/log/wtmp {
monthly
create 0664 root utmp
rotate 1
}
# system-specific logs may be also be configured here.
—————————————————–
這個文件指定了切分周期等參數。具體對每一個log的切分,是由/etc/logrotate.d目錄下的腳本完成的。這個目錄下包含apache、mysql、resin等若干服務的log文件。(郵件的/var/log/maillog是使用syslog寫入系統的)
手工運行/etc/cron.daily/logrotate ,看報告什麼錯誤。
例如報告
error: httpd:1 duplicate log entry for /var/log/httpd/access_log
這是由於在/etc/logrotate.d目錄下存在重復項目造成的。經檢查用戶自行安裝了httpd的rpm,所以在etc/logrotate.d目錄下存在apache和httpd兩個目錄切分項目,造成了logrotate程序運行失敗。
解決方法:移出/etc/logrotate.d/httpd文件即可。推薦按照一台干淨的服務器,檢查是否有多余的log切分項目