web-dev-qa-db-ja.com

log-rotateの変更を有効にする方法

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

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

110
BufBills

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

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

またはコメントで述べたように、コマンドcrontab -lの出力でlogrotate行を特定し、コマンドラインを実行します 正確なcronについては slm's answer を参照してください。毎日の説明

152
Kiwy

さまざまなディストリビューションで見た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

手動実行

手動で実行する場合は、スクリプトをrootとして実行します。

$ 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
40
slm

これはcronを介して自動化する必要があります。強制的に変更をテストできます。

グローバルlogrotateの場合:

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

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

Sudo logrotate -v -f /etc/logrotate.d/someapp.conf
33
maskeda

CentOS 6.5マシンでlogginatefor nginxを設定するには、次のようにする必要があります。

logrotate /etc/logrotate.d/nginx

そして、次のように新しいnginx構成を処理するlogrotateがあるかどうかを確認しました。

cat /var/lib/logrotate.status
5
Raptor