ラズパイの長期運用の為のRAM Disk編(保存版)

はじめに

以前、SDカード延命方法の為のログの制御方法を2つ紹介しました。

今回は、その続きのRAMDisk編でご紹介したいと思います。今回やることは、ログの出力先をSDカードではなく、メモリにしてしまうという方法です。

テンポラリ領域をRAMへ配置する

1.fstabを編集し、下記の2つを追加する。

sudo nano /etc/fstab
tmpfs  /var/log  tmpfs defaults,size=32m,noatime,mode=0755 0 0

2.ラズパイの再起動

sudo reboot

3.下記のコマンドを実行して、エラーが出ている部分があれば、フォルダやファイルを調べましょう。(特にエラーがなければ、ここで完了です。)

cat /var/log/syslog | grep /var/log

4.前の処理の結果を、起動スクリプトに追加する。

sudo nano /etc/rc.local

例えば、私の場合は「squid」のフォルダや、その中の「access.log」などのファイルがないとサービスがエラーを出力していましたので、空ファイルやフォルダを、起動時に作るようにしました。

mkdir -p /var/log/squid
chmod 755 /var/log/squid
chown proxy:proxy /var/log/squid

touch /var/log/squid/access.log
chmod 640 /var/log/squid/access.log
chown proxy:proxy /var/log/squid/access.log

touch /var/log/squid/cache.log
chmod 640 /var/log/squid/cache.log
chown proxy:proxy /var/log/squid/cache.log

touch /var/log/squid/deny.log
chmod 640 /var/log/squid/deny.log
chown proxy:proxy /var/log/squid/deny.log

また使っていないサービスなどが何か書き込みしていることに気づいたらサービス自体を削除してしまえば良いと思います。(例えば、ラズパイからメールを送ることが無いので「exim4」を削除するなど。)

apt-get remove exim4*

5.ラズパイを再起動して、先ほどと同じようにエラーが無いか確認しましょう。

sudo reboot

※全て問題なければ、fstabで設定した情報をコメントアウトして、SDカード上の「/var/log」を削除することも出来ます。

sudo rm -fr /var/log

まとめ

いかがだったでしょうか?簡単な説明で申し訳ございませんが、上記の説明でよくわからない方は、少し危険な作業なのでやらない方が良いかもしれません。では安定したラズパイサーバ皆さんも作ってみてください。