天天看點

Syslog-ng+Rsyslog收集日志:logrotate日志切割、輪詢(七)

很多軟體都自帶切割日志,比如tomcat可以按時間來命名.rsyslog可按日期生成檔案,但是并不支援用"%$year%-%$month%-%$day%"這些變量來讀取檔案(目前版本号:rsyslog-8.17.0-1.el6.x86_64)。

那麼,就要用到日志輪詢logrotate。

  1. 概要,配置。

    全局配置:/etc/logrotate.conf

    局部配置:/etc/logrotate.d/ 為了便于管理,自定義的配置都放到/etc/logrotate.d/裡

  2. 使用。

    建立檔案tomcat-log.conf,這個檔案名可以随便起,可以沒有字尾。

  vi /etc/logrotate.d/tomcat-log.conf      
  #tomcat裡catalina.out日志路徑
  /tomcat/logs/catalina.out {
  #按天執行
  daily
  #按日期儲存舊檔案
  dateext
  #保留10個備份
  rotate 10
  #忽略錯誤
  missingok
  #日志為空,則不輪詢
  notifempty
  #建立指定使用者和權限的檔案,同時logrotate修改舊檔案名
  create 644 root root
  #截斷
  copytruncate
  #輪詢多個檔案後,但隻執行一次指令postrotate腳本在壓縮了日志
  sharedscripts
  postrotate
      service rsyslog restart
    endscript
  }      

3.測試

 參數:-d(演練不産生實際日志,推薦);-f(強制輪詢日志)

logrotate -f /etc/logrotate.d/tomcatlog.conf      

 效果:

Syslog-ng+Rsyslog收集日志:logrotate日志切割、輪詢(七)

參考文章:

http://linux.cn/article-4126-1.html

http://blog.csdn.net/cjwid/article/details/1690101

https://blog.linuxeye.com/313.html