このリンクをたどってログを変更しました-RHEL6の構成をローテーションします
構成ファイルに変更を加えた後、これを有効にするにはどうすればよいですか?
回答
logrotate
はcrontab
を使用して機能します。デーモンではなくスケジュールされた作業であるため、構成を再ロードする必要はありません。
crontab
がlogrotate
を実行すると、新しい構成ファイルが自動的に使用されます。
構成をテストする必要がある場合は、次のコマンドを使用してlogrotate
を自分で実行することもできます。
logrotate /etc/logrotate.d/your-logrotate-config
またはコメントに記載されているように、コマンドして、 slmの回答を参照して、正確なcron.dailyの説明を入手してくださいcrontab -l
の出力でlogrotate
行を特定します。 div>およびコマンドラインを実行
コメント
回答
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
logrotate
のcronエントリは1日1回実行されるようにスケジュールされています。logrotate
には-d
オプション(または"デバッグ")、I ' dそれと一緒に少なくとも1回実行することをお勧めします。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を戻します。次の実行までにクリアされます