1.1.4.2. logrotateを設定する

  1. logrotateのcron実行を1日単位から1時間単位に変更します。

    # mv /etc/cron.daily/logrorate /etc/cron.hourly/
    
  2. /etc/logrorate.d配下にrsyslogを作成します。

    # vi /etc/logrotate.d/rsyslog
    /var/log/rsyslog/*/*/*/*/*.log
    /var/log/rsyslog-alog/*/*/*.log
    {
      hourly
      rotate 168
      compress
      missingok
      notifempty
      dateext
      sharedscripts
      postrotate
        /usr/bin/systemctl kill -s HUP rsyslog.service >/dev/null 2>&1 || true
      endscript
      lastaction
        find /var/log/rsyslog/*/*/*/*/ -type d -mtime +7 -exec rm -rf {} \;
      endscript
    }
    

    注釈

    • 過去ログの削除期間は-mtimeオプションで必要に応じて変更できます。
  3. 作成したrsyslogの設定が正しく動作しているか確認します。

    # logrotate -v /etc/logrotate.d/rsyslog