独自のログのロギングを設定していますが、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
によるとマニュアルページ。
httpd
SIGHUP
ログファイルを受信すると、設定ファイルを再度読み込み、受信時に再度開きますSIGUSR1
。
(これは一般的なルールではなく、SIGUSR1
ソフトウェアごとに異なる結果を引き起こす可能性があります。)
smtpd
これについて完全にはわかりませんが、ログが回転したことを知らせる必要がないという事実は、ログファイルを継続的に開閉することを強く示唆しています。これはメールサーバーでは安いかもしれませんが、忙しい仕事ではないかもしれません。 HTTPサーバーに優れています。
マニュアルページには、ログが回転する前にシグナルをエクスポートする必要があるという表示はありませんが(これは直感だけです)relayd
。ただし、ログファイルが開いていることを確認するために、同様の方法を使用できます。httpd
relayd
syslog
fstat | grep "relayd"
メーリングリスト[email protected]
または以下からお問い合わせください。コードを見てください。