「Logrotate」の版間の差分
ページの作成:「Category:デーモンとシステムサービス Category:データ圧縮とアーカイブ en:Logrotate {{Related articles start}} {{Related|Cron}} {{Related...」 |
同期 |
||
| 7行目: | 7行目: | ||
{{Related articles end}} |
{{Related articles end}} |
||
https:// |
https://github.com/logrotate/logrotate より: |
||
:''ログファイルが大量に生成されるシステムで、ログファイルの管理を簡単にするために logrotate ユーティリティは作られました。Logrotate はログファイルの自動的なローテーション圧縮や削除、メール送信などを可能にします。Logrotate を設定することで、ログファイルを毎日毎周毎月ごとに管理したり、特定のサイズまで達した時の動作を決められます。'' |
:''ログファイルが大量に生成されるシステムで、ログファイルの管理を簡単にするために logrotate ユーティリティは作られました。Logrotate はログファイルの自動的なローテーション圧縮や削除、メール送信などを可能にします。Logrotate を設定することで、ログファイルを毎日毎周毎月ごとに管理したり、特定のサイズまで達した時の動作を決められます。'' |
||
| 15行目: | 15行目: | ||
==インストール== |
==インストール== |
||
{{Pkg|logrotate}} |
Logrotate は {{Pkg|logrotate}} パッケージでインストールできます。{{Grp|base}} グループのパッケージとしてデフォルトでインストールされています。 |
||
デフォルトでは、logrotate は [[systemd/タイマー|systemd タイマー]]によって毎日動作します: {{ic|logrotate.timer}}。 |
|||
==設定== |
==設定== |
||
logrotate の一番重要な設定ファイルは {{ic|/etc/logrotate.conf}} です。また、{{ic|/etc/logrotate.d}} ディレクトリには他の設定ファイルが含まれています。 |
logrotate の一番重要な設定ファイルは {{ic|/etc/logrotate.conf}} です。また、{{ic|/etc/logrotate.d}} ディレクトリには他の設定ファイルが含まれています。 |
||
logrotate が正しく動作するか確認するには、以下のコマンドを実行してください。デバッグ出力が生成されます: |
|||
logrotate -d |
|||
logrotate スクリプトをテストするには (例えば {{ic|/etc/logrotate.d}} ディレクトリの nginx スクリプト)、以下のように実行してみてください: |
|||
logrotate -f -v /etc/logrotate.d/nginx |
|||
==トラブルシューティング== |
==トラブルシューティング== |
||
=== ログがローテーションされない === |
|||
cron ジョブによってログがローテーションされない場合、{{ic|user}} や {{ic|group}} の所有者が間違っている可能性があります。どちらも {{ic|root}} である必要があります。この問題を修正するには以下を実行: |
|||
| ⚫ | |||
# chown root:root /etc/logrotate.conf |
|||
# chown -R root:root /etc/logrotate.d |
|||
| ⚫ | |||
もしくは、{{ic|/etc/logrotate.conf}} で使いたいユーザーとグループに {{ic|su}} 変数を設定してください。 |
|||
=== exim のログがローテーションされない === |
=== exim のログがローテーションされない === |
||
| 42行目: | 37行目: | ||
この問題を修正するには、ユーザー {{ic|exim}} をグループ {{ic|log}} に追加してください。そして {{ic|olddir}} ({{ic|/var/log/old}}) のグループをデフォルトの {{ic|root}} から {{ic|log}} に変更してください。 |
この問題を修正するには、ユーザー {{ic|exim}} をグループ {{ic|log}} に追加してください。そして {{ic|olddir}} ({{ic|/var/log/old}}) のグループをデフォルトの {{ic|root}} から {{ic|log}} に変更してください。 |
||
=== logrotate の状態を確認 === |
|||
{{ic|cat /var/lib/logrotate.status}} を実行することで logroate によってローテートされているファイルを確認できます: |
|||
| ⚫ | |||
"/var/log/mysql/query.log" 2016-3-20-5:0:0 |
|||
"/var/log/samba/samba-smbd.log" 2016-3-21-5:0:0 |
|||
"/var/log/httpd/access_log" 2016-3-20-5:0:0 |
|||
| ⚫ | |||
== 参照 == |
== 参照 == |
||
* [http://wiki.gentoo.org/wiki/Logrotate Logrotate on Gentoo Linux Wiki] |
* [http://wiki.gentoo.org/wiki/Logrotate Logrotate on Gentoo Linux Wiki] |
||
* [http://linux.die.net/man/8/logrotate logrotate(8) Manual page] |
|||
2017年4月1日 (土) 19:48時点における版
関連記事
https://github.com/logrotate/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 は logrotate パッケージでインストールできます。base グループのパッケージとしてデフォルトでインストールされています。
デフォルトでは、logrotate は systemd タイマーによって毎日動作します: logrotate.timer。
設定
logrotate の一番重要な設定ファイルは /etc/logrotate.conf です。また、/etc/logrotate.d ディレクトリには他の設定ファイルが含まれています。
logrotate が正しく動作するか確認するには、以下のコマンドを実行してください。デバッグ出力が生成されます:
logrotate -d
logrotate スクリプトをテストするには (例えば /etc/logrotate.d ディレクトリの nginx スクリプト)、以下のように実行してみてください:
logrotate -f -v /etc/logrotate.d/nginx
トラブルシューティング
exim のログがローテーションされない
/etc/logrotate.conf に olddir 変数を設定した場合、以下のようなメッセージが表示されます:
error: failed to rename /var/log/exim/mainlog to /var/log/old/mainlog.1: Permission denied
この問題を修正するには、ユーザー exim をグループ log に追加してください。そして olddir (/var/log/old) のグループをデフォルトの root から log に変更してください。
logrotate の状態を確認
cat /var/lib/logrotate.status を実行することで logroate によってローテートされているファイルを確認できます:
"/var/log/mysql/query.log" 2016-3-20-5:0:0 "/var/log/samba/samba-smbd.log" 2016-3-21-5:0:0 "/var/log/httpd/access_log" 2016-3-20-5:0:0