ラズパイの長期運用の為のログ制御(保存版)

はじめに

今回は、ラズパイのログの制御を扱いたいと思います。

ログって何かというと、例えば壊れた時、なぜ壊れたのか原因を探るために、ログを見ることがあります。ラズパイも、色々な機能を動かすと、沢山のログが作られていきます。確かにログは必要ですが、どうせ読まないし、壊れたら作り直せばいいやって割り切っている方にとっては、ある意味無駄なものですよね。

またログを書き込むということは、物理的にはラズパイに入れているSDカードに書き込むことになります。そしてSDカードには書き込み回数が決まっています。普通は、その回数まで到達する前に、他の理由で壊れるのですが、ラズパイで利用している場合、この回数に行く可能性もあります。なので極力抑えた方がいいんですよね。

ということで、今回はその方法をご紹介したいと思います。

方法1:テンポラリ領域をRAMへ配置する

これは何かというと、ログの書き込みをメモリにするという事です。

メモリとは何かというと、一時記憶領域、つまりSDカードではない部分に書き込むように設定を変更します。
弊害は、再起動すると、書き込んだログが消えることになります。今回のコンセプトがそもそもログを読まないって事ですから、問題ありません。ここでは、一時的に使うファイルのフォルダをメモリに移す設定をしています。

  1. fstabを編集し、下記の2つを追加する。
    下記のコマンドを実行して、設定ファイルを編集します。
sudo nano /etc/fstab
tmpfs           /tmp            tmpfs   defaults,size=32m,noatime,mode=1777  0       0
tmpfs           /var/tmp        tmpfs   defaults,size=16m,noatime,mode=1777  0       0
  1. 今のテンポラリフォルダを削除します。
    下記のコマンドを1行ずつ順番に実行します。
sudo rm -fr /tmp
sudo rm -fr /var/tmp
sudo reboot

方法2:rsyslogのログを制御

こちらはログの出力設定を変更して、そもそもログを出力しないように設定します。やっていることは、コメントアウト化して、ログが出力されないようにしているだけです。

  1. 設定ファイルを編集する。(編集箇所は #### RULES #### 以降)
    下記のコマンドを実行して、設定ファイルを編集します。
sudo nano /etc/rsyslog.conf
#daemon.*                       -/var/log/daemon.log
#kern.*                         -/var/log/kern.log
#lpr.*                          -/var/log/lpr.log
#mail.*                         -/var/log/mail.log
#user.*                         -/var/log/user.log

#mail.info                      -/var/log/mail.info
#mail.warn                      -/var/log/mail.warn
#mail.err                       /var/log/mail.err

#news.crit                      /var/log/news/news.crit
#news.err                       /var/log/news/news.err
#news.notice                    -/var/log/news/news.notice

#*.=debug;\
#       auth,authpriv.none;\
#       news.none;mail.none     -/var/log/debug

2.下記のコマンドを実行し、サービスの再起動します。

sudo systemctl restart rsyslog

まとめ

いかがだったでしょうか?とりあえず、簡単に出来るものだけ載せました。

実は、あともう1つあり、方法1では一時ファイルを保存するテンポラリフォルダをメモリに移しましたが、ログフォルダをメモリに移す方法があります。こちらは、ログフォルダ内に、入れているソフトやサービスによってフォルダが違うので、ちょっとややこしいので、今回は除いています。

また機会があったら、ご紹介したいと思います。