FreeBSD12: /var/log/xferlog ログファイルが更新されていなかった

時々 WordPress の更新があり実行していますが、実行に時間が掛かることがあり、そういうケースではフリーズしていないか、ftp ログを確認します。また、更新途中にワーニングやエラーメッセージが表示されることもあり、そういうケースでも ftp ログを確認します。

ftpログというのは、/var/log/xferlog のこと。

今回のアップデートも気になる点があったので、xferlog を開いたところ、何も記録されていない!
正確には、12月中旬までのログは記録されているものの、今年のログが無い!やばっ。

12月中旬以降といえば、OSを更新した時期と重なります。この時の作業が影響したのかと思い、同時に更新した他のサーバーを確認したところ、xferlog はちゃんと更新されています。

あれあれ。なぜ?

システムログファイルをコントロールしているのは、/etc/syslog.conf です。デーモンごとこの細かい設定はありますが、主なところは syslog.conf に記述していて、私はあまりカスタマイズしていなかったはず。ただし、/etc/syslog.conf は freebsd-update コマンドの編集対象になる可能性が大なので、このサーバーだけ無意識に編集してしまったのかも。

旧バージョンの syslog.conf をバックアップから戻して確認すべきか?

正常なサーバーと問題のサーバーの /etc/syslog.conf を比較してみたところ、原因が見つかりました。

syslog.conf がサブディレクトリー化されてました。サブディレクトリー化されたのはFreeBSD10 あたりだったと思うのですが、ftp ログがサブディレクトリーに移動してました。

# Uncomment this if you wish to see messages produced by devd
# !devd
# *.>=notice					/var/log/devd.log
!*
include						/etc/syslog.d
include						/usr/local/etc/syslog.d

/etc> ll /etc/syslog.d
total 12
-rw-r--r--  1 root  wheel  114 12月 22 18:27 ftp.conf
-rw-r--r--  1 root  wheel  115 12月 22 18:27 lpr.conf
-rw-r--r--  1 root  wheel  115 12月 22 18:27 ppp.conf

/etc> cat /etc/syslog.d/ftp.conf 
# $FreeBSD: releng/12.3/usr.sbin/syslogd/ftp.conf 338146 2018-08-21 17:01:47Z brd $
ftp.info					/var/log/xferlog

問題のサーバーには、このinclude行、二行がない。当然 ftp,lpr, ppp 動作が記録されません。

原因が分かったので、問題なく動作している記述を問題のサーバーにコピー。
そして、syslogd サービスを再起動したところ、xferlog が更新されなかった問題は解決。

inetd.conf の ftpd オプションやら、ログローテーションのせいかと思って疑いましたが、単純に syslog.conf のミスでした。

問題解決ですが、conf ファイルの記述方法が更新されるので、カスタマイズして使っている場合は、毎回、注意が必要ですね。

コメントを残す