歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
您现在的位置: Linux教程網 >> UnixLinux >  >> Linux基礎 >> Linux服務器

如何讓linux系統日志自動切分

在/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切分項目

Copyright © Linux教程網 All Rights Reserved