時々 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 ファイルの記述方法が更新されるので、カスタマイズして使っている場合は、毎回、注意が必要ですね。