ログローテーションの変更を有効にする方法


99

このリンクに従って、RHEL 6のログ回転構成を変更しました

構成ファイルに変更を加えた後、これを有効にするにはどうすればよいですか?

回答:


139

logrotatecrontab仕事に使用します。デーモンではなくスケジュールされた作業であるため、構成を再ロードする必要はありません。
crontab実行さlogrotateれると、新しい構成ファイルが自動的に使用されます。
設定をテストする必要がある場合logrotateは、次のコマンドを使用して自分で実行することもできます。

logrotate /etc/logrotate.d/your-logrotate-config

または、コメントで述べたようにlogrotate、コマンドの出力で行を特定しcrontab -l、コマンドライン実行して、slmの答えを参照して、正確なcron.dailyの説明を取得します


1
答えに追加するために、cronエントリlogrotateは1日に1回実行されるようにスケジュールされています。
mkc 14

@Ketan、それで、どうすればすぐに影響を与えることができますか?感謝
BufBills

わからない。1つの可能性は、crontabから対応するエントリを見つけてcrontab -l実行することです。
mkc 14

2
すぐに有効にしたい場合は、cronの後書きを実行してください。
slm

2
logrotate-dテスト(または「デバッグ」)のオプションがあります。少なくとも1回は実行することをお勧めします。
FrustratedWithFormsDesigner

36

logrotate私が様々なディストリビューションで見たセットアップのほとんどは使い果たしています/etc/cron.daily。そこに適切な名前のシェルスクリプトがありlogrotateます。

$ ls -l /etc/cron.daily/logrotate 
-rwxr-xr-x 1 root root 180 May 18  2011 /etc/cron.daily/logrotate

手動運転

手動で実行する場合は、スクリプトをルートとして実行するだけです:

$ sudo /etc/cron.daily/logrotate

通常そこにあるスクリプトを見ると、logrotate単にlogrotate構成ファイルへのパスを実行するだけで、手動で実行する方法を示しています。

#!/bin/sh

/usr/sbin/logrotate /etc/logrotate.conf
EXITVALUE=$?
if [ $EXITVALUE != 0 ]; then
    /usr/bin/logger -t logrotate "ALERT exited abnormally with [$EXITVALUE]"
fi
exit 0

31

cronを介して自動である必要があります。変更をテストするように強制できます。

グローバルlogrotateの場合:

sudo logrotate -v -f /etc/logrotate.conf

単一のconfファイルの場合:

sudo logrotate -v -f /etc/logrotate.d/someapp.conf

11
-f強制回転の場合、-dデバッグ用もあります。これはドライランでもあり、実行したはずのすべてを出力しますが、実際には実行しません。
ThorSummoner

5

nginxのlogrotateをセットアップするためのCentOS 6.5マシンでは、これを行う必要がありました。

logrotate /etc/logrotate.d/nginx

そして、logrotateが私の新しいnginx設定を次のように処理しているかどうかをチェックしました:

cat /var/lib/logrotate.status
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.