今回は主にログ周り
8月21日
apacheのrotatelogとloglotateの競合
apacheのログはtotatelogsで /var/log/apache2/20200820.access.log のようなフォーマットのファイル名で書き出すようにしていてる。ところがログディレクトリを見ると/var/log/apache2/20200820.access.logが0バイトになっていて、一方で/var/log/apache2/20200820.access.log.1という、中身のあるファイルができている。前者のファイルのタイムスタンプは毎日の0:00。
.1というファイル名になるということは汎用のログローテイトプログラムがなんか関係していそう。いろいろ検索して、 /etc/logrotate.d/apache2 をみるとdailyの文字が。これをコメントアウト。
毎日0時に「旧ファイルに.1をつけて、touchする」という動作をしていたもよう。
古い環境を見るとここはweeklyになっていた。ということは週1回同様の事例が発生したかも知れない。
6月22日
ログファイルの指定
以前はdovecot、postfix、crondのログをsyslogから分離してサブディレクトリに保存するようにしていたが、それができていなかったので、 cat etc/rsyslog.d/50-default.conf を修正。
サブディレクトリのパーミッションのせいか、ログができなかったので、chmod 777 してみたらログファイルができた。ただ、できたログファイルのオーナーはrootだったりする。rootが作るんなら666でもできそうなもんだが。
これらのログはcronで日付入りのファイル名にrenameしている。