Show Table of Contents
このページには機械翻訳が使用されている場合があります (詳細はこちら)。
20.2. ログファイルの場所の特定
ほとんどのログファイルは、
/var/log/
ディレクトリ内にあります。httpd
や samba
などの一部のアプリケーションは、/var/log/
内のディレクトリにログファイルを所有しています。
末尾に番号が付いた複数のファイル (例えば
cron-20100906
) が、/var/log/
ディレクトリ内にあることに気づくでしょう。これらの番号は、ローテーションしたログファイルに付加されたタイムスタンプを表します。ログファイルは、ファイルサイズが大きくなり過ぎないようにローテートされます。logrotate
パッケージには、cron タスクが含まれています。これは、/etc/logrotate.conf
設定ファイル及び /etc/logrotate.d/
ディレクトリ内の設定ファイルに従ってログファイルを自動的にローテートします。
20.2.1. logrotate の設定
以下に、
/etc/logrotate.conf
設定ファイルのサンプルを示します:
# rotate log files weekly weekly # keep 4 weeks worth of backlogs rotate 4 # uncomment this if you want your log files compressed compress
このサンプルの設定ファイル内にあるすべての行は、あらゆるログファイルに適用するグローバルオプションを定義します。この例では、ログファイルは毎週ローテートされ、ローテートされたログファイルは 4 週間保管されます。ローテートされたすべてのログファイルは、gzip により
.gz
形式に圧縮されます。ハッシュ記号 (#) で始まる行は、コメントであり処理されません。
特定のログファイル用に設定オプションを定義して、それをグローバルオプション下に配置することもできます。ただし、
/etc/logrotate.d/
ディレクトリ内に特定ログファイル用の個別の設定ファイルを作成して、そこに設定オプションを定義することが推奨されます。
以下は、設定ファイルが
/etc/logrotate.d/
ディレクトリに配置されている例です:
/var/log/messages { rotate 5 weekly postrotate /usr/bin/killall -HUP syslogd endscript }
このファイル内の設定オプションは、
/var/log/messages
ログファイル専用の特有なものです。ここで指定された設定は、可能な場合はグローバルオプションを上書きします。そのため、ローテートされた /var/log/messages
ログファイルは、グローバルオプションで定義された 4 週間ではなく、5 週間保管されます。
以下は、logrotate 設定ファイル内で指定できる指示文の一覧です:
weekly
— 週ごとにログファイルのローテーションを指定します。同様な指示文は、以下のとおりです:daily
monthly
yearly
compress
— ローテートしたログファイルの圧縮を有効にします。同様な指示文は、以下のとおりです:nocompress
compresscmd
— 圧縮に使用するコマンドを指定します。uncompresscmd
compressext
— 圧縮に使用する拡張子を指定します。compressoptions
— 使用される圧縮プログラムに渡すオプションを指定できます。delaycompress
— ログファイルの圧縮を次回のログファイルのローテーションまで延期します。
rotate <INTEGER>
— ログファイルが削除されるか特定のアドレスにメール送信されるまでに、ログファイルが受けるローテーションの回数を指定します。0
の値が指定されると、古いログファイルはローテートされる代わりに削除されます。mail <ADDRESS>
— このオプションは、rotate
指示文によって定義される回数だけローテートされたログファイルの指定したアドレスへのメール送信を有効にします。同様な指示文は、以下のとおりです:nomail
mailfirst
— 間もなく期限切れになるログファイルではなく、ローテートされたばかりのログファイルがメール送信されるよう指定します。maillast
— ローテートされたばかりのログファイルではなく、間もなく期限切れになるログファイルがメール送信されるよう指定します。mail
が有効の場合は、これがデフォルトのオプションです。
指示文と各種設定オプションの総合一覧は、
logrotate
の man ページ (man logrotate
) を参照して下さい。
このページには機械翻訳が使用されている場合があります (詳細はこちら)。