logrotate.out 肥大化問題

2023/04/04に公開

logrotate.out 肥大化問題

対処法1 : catalina.outを無効にする(保存しない)

やり方

usr/local/apache-tomcat-9.0/bin/catalina.shにあるCATALINA_OUT="$CATALINA_BASE"/logs/catalina.out
CATALINA_OUT=/dev/nullに置き換えて,Tomcatを再起動する.
参考:https://m.facebook.com/430255886996503/posts/3922173704471353/


対処法2 : ログローテーションを設定する

やり方

Step1 設定

/etc/loglotate.d/の配下に任意の名前のファイルを作成(例えばtomcat9とかcatalina_outとか).そのファイルに以下の内容を書き込む(vimとかで).

/use/local/apache-tomcat-9.0/logs/catalina.out {
    copytruncate
    daily
    rotate 7
    compress
    missingok
    create 0644 tomcat tomcat
}
詳細
  • copytruncate : コピー後,下のログファイルを消去する
  • daily : 1日1回ローテーションを実行
  • rotate 7 : ログファイルを保持する数.この数以上のファイルは古い方から削除.環境に合わせて設定していい
  • compress : 最新世代以外は圧縮する
  • missingok : 指定のログファイルが存在しなくてもエラーを出さない
  • create 0644 tomcat tomcat : パーミッションの設定.644は所有者以外も参照可能?640が所有者のみ?(参考:https://qiita.com/WATARI_QIITA/items/e7449ec0cd7991c21c4c)

次のコマンドで設定を確認する.実際にローテーションされるわけではなく,とりあえず確認しておくだけ.エラーが表示されなければok.

logrotate -d /etc/logrotate.d/{さっき作ったファイル名}

log does not need rotatingなどと出ても,ローテーションする分のファイル数がないだけなので気にしない.

Step2 実行
  1. 手動実行する場合
    sudo logrotate /etc/logrotate.d/{さっき作ったファイル名}
    または
    logrotate -f /etc/logrotate.d/{さっき作ったファイル名}

    • 違いはよく分かりません...どちらも強制的に実行するコマンドのようなので動く方でお願いします.
      環境によっては一つ目のlogrotate/usr/sbin/logrotateとする必要があるかも.
  2. 定期実行
    基本的にデフォルトで定期実行されるはず.
    実行するタイミングの設定などをする場合,以下.

    cronの設定ファイルである/etc/crontabに次のスクリプトを追記する.
    0 0 * * * root logrotate /etc/logrotate.d/{さっき作ったファイル名} >/dev/null 2>&1
    ↑これは毎日0時にlogrotateが実行される例.下記URLを参考に編集可能.
    環境によっては一つ目のlogrotate/usr/sbin/logrotateとする必要があるかも.

    cronの書式の参考:https://www.server-memo.net/tips/crontab.html

    cronを再起動する
    $ sudo service cron restart


対処法3 : 保存するログレベルを変更する

やり方

/usr/local/appache-tomcat-9.0/conf/logging.propertiesにて,
org.apache.catalina.core.ContainerBase.[Catalina].[localhost].level = INFO
INFOを保存したいログレベルに変更する.
ログレベルは次のとおり.

  • FATAL : 致命的なエラー
  • ERROR : エラー
  • WARN : 警告
  • INFO : 情報
  • DEBUG : デバッグ用の情報

メモ

今回はYYYY-MM-DD.logのローテーションは触れてません.


参考文献

https://srcw.net/wiki/?Tomcat/設定
http://systemconcept.co.jp/blog/?p=690
http://m97087yh.seesaa.net/article/121139263.html
https://ti-tomo-knowledge.hatenablog.com/entry/2019/01/30/161829
https://qiita.com/kome12y3/items/68ea9b1d1f20d8b48f5b
https://srcw.net/wiki/?Tomcat/設定

Discussion