LoginSignup
1
0

LinuxでTomcatログを管理する:Logrotateの使い方

Posted at

TomcatはJavaアプリケーションサーバーとして広く利用されていますが、そのログファイルが肥大化しやすいのも事実です。この問題を解決するために、Linuxシステムではlogrotateツールを使ってログファイルのローテーション(古いログの削除やアーカイブ)を自動化することができます。ここでは、Tomcat 10のログをlogrotateを使用して効果的に管理する方法をご紹介します。

Logrotateの基本

logrotateは、ログファイルを定期的にローテートし、必要に応じて圧縮、削除、メール送信することができるツールです。これにより、ディスクスペースを有効に管理し、ログファイルがシステムを圧迫するのを防ぎます。

Tomcatログのローテーション設定

Step 1: Logrotate設定ファイルの作成

まず、/etc/logrotate.d/ディレクトリにtomcat10という名前の新しい設定ファイルを作成します。これが、Tomcatのログを管理するための設定ファイルになります。

以下の内容をファイルに追加します(パスやユーザー名は環境に合わせて適宜変更してください)。

/opt/apache-tomcat-10.1.19/logs/catalina.out {
    copytruncate
    daily
    rotate 7
    compress
    missingok
    create 0644 tomcat tomcat
    su tomcat tomcat
}

この設定では、catalina.outログファイルが毎日ローテートされ、7日間保持された後に圧縮されることを意味します。また、suディレクティブを使用して、ログのローテーションに使用するユーザーとグループを指定します。

Step 2: ファイルとディレクトリの権限の設定

セキュリティを確保するため、Tomcatのログディレクトリの権限を適切に設定します。

chmod 770 /opt/apache-tomcat-10.1.19/logs/

同様に、作成したlogrotateの設定ファイルの権限も適切に設定します。

chmod 644 /etc/logrotate.d/tomcat10

Step 3: Logrotateの実行とテスト

設定が完了したら、logrotateコマンドを使用して、設定が期待通りに機能するかをテストします。

logrotate -d /etc/logrotate.d/tomcat10
  • dオプションを使用すると、実際には何も実行されず、どのような操作が行われるかが表示されます。問題がなければ、デバッグモードを外して実行します。
logrotate /etc/logrotate.d/tomcat10

詳細な実行結果を見たい場合は、-vオプションを使用します。

logrotate -v /etc/logrotate.d/tomcat10

まとめ

logrotateを使用することで、Tomcatのログファイル管理を自動化し、システムの健全性を保ちながらディスクスペースを効率的に利用することができます。上記のステップに従って、ログのローテーションを設定する

1
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
0