私は このリンク に従って、RHEL 6のログ回転構成を変更しました
設定ファイルに変更を加えた後、これを有効にするにはどうすればよいですか?
logrotate
はcrontab
を使用して機能します。これはスケジュールされた作業であり、デーモンではないため、構成を再ロードする必要はありません。crontab
がlogrotate
を実行すると、新しい構成ファイルが自動的に使用されます。
設定をテストする必要がある場合は、次のコマンドを使用して自分でlogrotate
を実行することもできます。
logrotate /etc/logrotate.d/your-logrotate-config
またはコメントで述べたように、コマンド 正確なcronについては slm's answer を参照してください。毎日の説明crontab -l
の出力でlogrotate
行を特定し、コマンドラインを実行します
さまざまなディストリビューションで見た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
これはcronを介して自動化する必要があります。強制的に変更をテストできます。
グローバルlogrotateの場合:
Sudo logrotate -v -f /etc/logrotate.conf
単一のconfファイルの場合:
Sudo logrotate -v -f /etc/logrotate.d/someapp.conf
CentOS 6.5マシンでlogginatefor nginxを設定するには、次のようにする必要があります。
logrotate /etc/logrotate.d/nginx
そして、次のように新しいnginx構成を処理するlogrotateがあるかどうかを確認しました。
cat /var/lib/logrotate.status