出ないよりは良いんだけど、出過ぎても困るログ。
前回は必要なものに絞ったモノを独自のログとして出力した。
もりもり出るからローテーションもちゃんと設定しなくては。
と/var/log
を見ると
あれ何かローテーションされてなくね?
messages とか syslog なんか結構な量を出力していて、さぞかし巨大なファイルが並んでいるもんだと
思っていたのに巨大なのは本体(?)だけで、syslog.1 の日付が11/15とかなってるんだけど。
しかも2018年w
その頃はちょうどラズパイをSSD化した時だ。
動いてると思っていたログローテ、動いてないやん ちっともw
というわけで、内容を確認がてら正しく動くようにしましょう。
設定は/etc/logrotate.conf
。
個別に設定したい場合は/etc/logrotate.d/
に設定ファイルを置けば
個別のログ設定を優先してくれる。
/etc/logrotate.conf
に書かれているデフォルト値は週次(weekly)を4週分(rotate 4)。
特に問題があるようには思えないので値は変更しない。
続いて/etc/logrotate.d/
にあるファイル達。
見覚えのあるrsyslog
が居たので中を覗いてみる。
rsyslog.conf
で扱っているログの情報が記載されていた。
syslog
だけ週次を7週分で、それ以外は週次で4週分という設定になっていた。
今回新たに作成したログ用に/etc/logrotate.d/
にファイルを作成しましょう。
$ sudo nano hoge_log
←ラズパイのviの使い勝手が悪かったので、nanoに流れてしまったw
daily # 日次で
rotate 4 # 4日分保持
missingok # ログファイルが存在しなくてもエラーを出さずに処理を続行
notifempty # ログファイルが空ならローテーションしない
compress # ローテーションしたログをgzipで圧縮
delaycompress # 次回のローテーションの時にログの圧縮を行う
copytruncate # ログファイルをコピーしてから内容を削除
}
ってな感じで。
設定が終わったら再起動。
$ sudo /usr/sbin/logrotate /etc/logrotate.conf
あ、最初に確認しておけば良かった。
動いてなかったんだろうけど。
無事ログがローテーションされるようになってスッキリ(´ω`)