newsyslog.confでいつ「pkill...」フラグを使用しますか?

newsyslog.confでいつ「pkill...」フラグを使用しますか?

独自のログのロギングを設定していますが、relayd実行する必要があるかどうかはわかりません"pkill..."

デフォルトでは、以下が表示されますnewsyslog.conf

# logfile_name      owner:group     mode count size when  flags
/var/log/maillog                    640  7     *    24    Z
/var/log/pflog                      600  3     250  *     ZB "pkill -HUP -u root -U root -t - -x pflogd"
/var/www/logs/access.log            644  4     *    $W0   Z "pkill -USR1 -u root -U root -x httpd"
/var/www/logs/error.log             644  7     250  *     Z "pkill -USR1 -u root -U root -x httpd"

個々のデーモンのログにmaillog少なくとも my 。"pkill..."relayd

答え1

ログを回転すると、実際には別のinodeにある新しいファイルが作成されます。ログファイルは実行時に開いたままになるため、httpdログメッセージが書き込まれるファイル記述子は現在存在しないファイルを指します。そのため、SIGUSR1ログファイルを再度開くようにシグナルを送信する必要があります(つまり、古いファイルディスクリプタを削除して新しいファイルディスクリプタを開きます)。httpdによるとマニュアルページ

httpdSIGHUPログファイルを受信すると、設定ファイルを再度読み込み、受信時に再度開きますSIGUSR1

(これは一般的なルールではなく、SIGUSR1ソフトウェアごとに異なる結果を引き起こす可能性があります。)

smtpdこれについて完全にはわかりませんが、ログが回転したことを知らせる必要がないという事実は、ログファイルを継続的に開閉することを強く示唆しています。これはメールサーバーでは安いかもしれませんが、忙しい仕事ではないかもしれません。 HTTPサーバーに優れています。

マニュアルページには、ログが回転する前にシグナルをエクスポートする必要があるという表示はありませんが(これは直感だけです)relayd。ただし、ログファイルが開いていることを確認するために、同様の方法を使用できます。httpdrelaydsyslogfstat | grep "relayd"

メーリングリスト[email protected]または以下からお問い合わせください。コードを見てください

関連情報