25.3.5. ログローテーション
以下は、
/etc/logrotate.conf 設定ファイルのサンプルです。
上記の設定ファイル内のすべての行は、すべてのログファイルに適用されるグローバルオプションを定義しています。この例では、ログファイルは週ごとにローテーションされ、ローテーションされたログファイルは 4 週間保持され、ローテーションされるログファイルはすべて gzip により
.gz 形式に圧縮されます。ハッシュマーク (#) で始まる行はすべてコメントで、これは処理されません。
特定のログファイル用に設定オプションを定義して、それをグローバルオプションの下に置くこともできます。ただし、
/etc/logrotate.d/ ディレクトリーに、特定ログファイル用の個別の設定ファイルを作成し、そこに設定オプションを定義することが推奨されます。
/etc/logrotate.d/ ディレクトリーに設定ファイルが保存されている例を以下に示します。
このファイル内の設定オプションは、
/var/log/messages ログファイル専用の特有なものです。ここで指定された設定は、可能な場合はグローバルオプションを上書きします。そのため、ローテートされた /var/log/messages ログファイルは、グローバルオプションで定義された 4 週間ではなく、5 週間保管されます。
以下は、logrotate 設定ファイル内で指定できるディレクティブの一覧です。
weekly- ログファイルの週ごとのローテーションを指定します。同様なディレクティブには以下のものがあります。dailymonthlyyearly
compress- ローテートしたログファイルの圧縮を有効にします。同様なディレクティブには以下のものがあります。nocompresscompresscmd- 圧縮に使用するコマンドを指定します。uncompresscmdcompressext- 圧縮に使用する拡張子を指定します。compressoptions- 使用する圧縮プログラムに渡すオプションを指定します。delaycompress- ログファイルの圧縮を次回のログファイルのローテーションまで延期します。
rotate INTEGER- ログファイルが削除される、または特定のアドレスに送信されるまでにログファイルがローテーションされる回数を指定します。0の値を指定すると、ローテーションではなく古いログファイルが削除されます。mail ADDRESS- このオプションは、rotateディレクティブで定義された回数だけローテーションされたログファイルを特定のアドレスへメール送信できるようにします。同様なディレクティブには以下のものがあります。nomailmailfirst- 間もなく期限切れになるログファイルではなく、ローテートされたログファイルがメール送信されるよう指定します。maillast- 交代されたばかりのログファイルではなく、間もなく期限切れになるログファイルがメール送信されるよう指定します。mailが有効な場合は、これがデフォルトのオプションです。
ディレクティブおよび設定オプションの一覧は、man ページの
logrotate(5) を参照してください。