このリンクをたどってログを変更しました-RHEL6の構成をローテーションします

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

回答

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

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

またはコメントに記載されているように、コマンドcrontab -llogrotate行を特定します。 div>およびコマンドラインを実行して、 slmの回答を参照して、正確なcron.dailyの説明を入手してください

コメント

  • 回答に追加するだけで、logrotateのcronエントリは1日1回実行されるようにスケジュールされています。
  • @Ketan、では、どうすればすぐに影響を与えることができますか?ありがとう
  • すぐに有効にしたい場合は、cronのあとがきを実行してください。
  • logrotateには-dオプション(または"デバッグ")、I ' dそれと一緒に少なくとも1回実行することをお勧めします。
  • 非常に一般的なフラストレーションは、新しい必須のsuディレクティブsu root syslogです。これにより、追加されていない場合はlogrotateが停止します。'のフラストレーションを解消するために、ディレクティブを追加してから(force)logrotateを実行すると、吐き出され続けます" error: skipping "/var/log/syslog" because parent directory has insecure permissions (It's world writable or writable by group which is not "root" ... "構成変更後20時間、設定/プロセスのようにキャッシュされています!?そこに行き詰まっている場合は、/ var / logをrootにchgrpし、logrotateを実行して、syslogにchgrpを戻します。次の実行までにクリアされます

回答

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を介して自動化する必要があります。変更を強制的にテストすることができます。

グローバルログローテーションの場合:

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

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

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

コメント

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

回答

logrotatefornginxを設定するためのCentOS6.5マシンでは、次のようにする必要がありました。

logrotate /etc/logrotate.d/nginx 

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

cat /var/lib/logrotate.status 

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です