今回は、「logrotate」について記載します。
logrotateは、複数のログファイルを圧縮、削除、メールで送信するための機能です。
ログファイルは、放置しておくとどんどん大きくなっていき、/var/logディレクトリを
圧迫していきます。これを防ぐのがツール「logrotate」です。
このツールは、その名の通りログファイルをローテーションするツールです。
これにより「ファイルサイズが〇〇以上になったら」とか「日次・週次・月次などで分割」
などが容易に可能になります。
例えば、logというファイルを、log.1、log.2、log.3、のように定期的にローテーションします。
設定した時間が経過すると、logはlog.1に、log.1はlog.2に、log.2はlog.3に・・・のように
上書きされます。最後のファイルは削除されます。
また、logファイルは空になり、ここに新たなログが書き込まれることになります。
logrotateの設定ファイルは/etc/logrotate.confファイルで、何世代のファイルをローテーション
するのか、どれだけの期間が経過するとローテーションするのか、などを設定します。
<オプション>
-?, –help コマンド
ヘルプメッセージを表示します。
-d, –debug コマンド
デバッグモードをオンにし、-vを暗黙的に指定します。
デバッグモードでは、ログやlogrotateのステータスファイルは変更されません。
-f, –force コマンド
ローテーションが必要とされる場合ではないとしても、強制的にログローテーションを
実行するように指示します。
このオプションは、新しいエントリを設定ファイルに追加したり、古いログファイルを
手動で削除したりした後に、新しいファイルが作成され、ロギングが正しく続行される
ようにするのに便利です。
-m, –mail コマンド
logrotateに、ログをメール送信する際に使用するコマンドを指定します。
このコマンドには、2つの引数が指定されるべきです: 1) メッセージの件名 2) 宛先
コマンドは、標準入力のメッセージを読み取り、それを宛先に送信します。
デフォルトのメールコマンドは、 /bin/mail -s です。
-s, –state ステータスファイル
logrotateに代替のステータスファイルを使うように指示します。
このオプションは、別々のユーザーが様々なログファイルのセットを持つ場合に
logrotateを実行するのに便利です。
デフォルトのステータスファイルは /var/lib/logrotate/logrotate.status です。
–usage
簡潔な使用法を表示します。