Logrotate

提供: ArchWiki
2015年7月12日 (日) 14:05時点におけるKusakata (トーク | 投稿記録)による版 (ページの作成:「Category:デーモンとシステムサービス Category:データ圧縮とアーカイブ en:Logrotate {{Related articles start}} {{Related|Cron}} {{Related...」)
(差分) ← 古い版 | 最新版 (差分) | 新しい版 → (差分)
ナビゲーションに移動 検索に移動

関連記事

https://fedorahosted.org/logrotate/ より:

ログファイルが大量に生成されるシステムで、ログファイルの管理を簡単にするために logrotate ユーティリティは作られました。Logrotate はログファイルの自動的なローテーション圧縮や削除、メール送信などを可能にします。Logrotate を設定することで、ログファイルを毎日毎周毎月ごとに管理したり、特定のサイズまで達した時の動作を決められます。

logrotate のローテーションでは、既存のログファイルに数字を割り振って名前を変更し、元の空のログファイルを再作成します。例えば、/var/log/syslog.log/var/log/syslog.log.1 に名前が変更されます。/var/log/syslog.log.1 が既に存在する場合、名前は /var/log/syslog.log.2 に変更されます (バックログの数は設定で変えられます)。

インストール

logrotate公式リポジトリに含まれており、base グループのメンバーとしてデフォルトでインストールされます。

logrotate はもはや cron ジョブを使用しません。代わりに systemd タイマーを使います: systemctl status logrotate.timer

設定

logrotate の一番重要な設定ファイルは /etc/logrotate.conf です。また、/etc/logrotate.d ディレクトリには他の設定ファイルが含まれています。

トラブルシューティング

ログがローテーションされない

cron ジョブによってログがローテーションされない場合、usergroup の所有者が間違っている可能性があります。どちらも root である必要があります。この問題を修正するには以下を実行:

# chown root:root /etc/logrotate.conf
# chown -R root:root /etc/logrotate.d

もしくは、/etc/logrotate.conf で使いたいユーザーとグループに su 変数を設定してください。

exim のログがローテーションされない

/etc/logrotate.confolddir 変数を設定した場合、以下のようなメッセージが表示されます:

error: failed to rename /var/log/exim/mainlog to /var/log/old/mainlog.1: Permission denied

この問題を修正するには、ユーザー exim をグループ log に追加してください。そして olddir (/var/log/old) のグループをデフォルトの root から log に変更してください。

参照