tomcat のバックアップ(No.2)
- バックアップ一覧
- 差分 を表示
- 現在との差分 を表示
- 現在との差分 - Visual を表示
- ソース を表示
- tomcat へ行く。
- 1 (2005-04-20 (水) 03:08:16)
- 2 (2006-04-26 (水) 19:25:36)
- 3 (2006-06-13 (火) 18:20:48)
tomcat
- mod_jk
- mod_jk2 obsolete
- tomcat 4.1.x
- tomcat 5.0.x
tomcatのログファイル、catalina.out を再起動なしでローテーションする
tomcatの出力するログはserver.xmlの設定によって、tomcatを再起動しなくてもローテーションすることが出来ます。
しかし、catalina.outだけは標準出力と標準エラー出力をリダイレクトしたものなので、
tomcatを再起動しなくてはローテーションが出来ません。
しかし、rotatelogs を使えば対応できます。
rotatelogs はapacheのオマケに付いてくるログローテーション用のプログラムで、
Apacheの再起動無しログローテーションを実現できるものです。
そしてrotatelogsは、Apacheのログに限らず様々なログ出力に使用可能なのです。
tomcatの場合は次のように設定します。
インストールディレクトリ以下にある bin/catalina.sh を編集します。
最初に以下のようになっている場所を削除しましょう。
touch "$CATALINA_BASE"/logs/catalina.out
この部分は不要になるので削除してください。そして次に編集するのが以下のポイントです。
>> "$CATALINA_BASE"/logs/catalina.out 2>&1 &
2カ所あるので注意ししてください。この部分二箇所を以下のように書き換えます
| /usr/local/apache2/bin/rotatelogs "$CATALINA_BASE"/logs/catalina.out.%Y-%m-%d.txt 604800 &
末尾の数字は604800毎にローテーションするという意味です。以上で設定完了です。
あとはtomcatを起動すれば、catalina.out.2005-04-01の様な名前のログファイルができます。