RasPi - Log to RAM

Unix schreibt wie Windows verschiedene Logdateien zur Fehlersuche und Protokollierung. Das geht natürlich auf die Lebensdauer der SD-Karte, die nur für eine eine bestimmte Menge an Schreibzugriffen ausgelegt ist. Wer die Logs nicht braucht, kann diese entweder reduzieren oder einfach in eine RAMDisk ablegen und dort entfernen.

Bei Unix ist das der Verzeichnispfad "/var/log", der hier interessant ist, welches durchaus umfangreiche Protokolle enthalten kann.

Das passende Modul dazu ist RamLog (http://www.tremende.com/ramlog/index.htm) und wird wie folgt installiert:

sudo apt-get install lsof
sudo wget http://www.tremende.com/ramlog/download/ramlog_2.0.0_all.deb
sudo dpkg -i ramlog_2.0.0_all.deb

# nun noch die RamLog Konfiguration anpassen
sudo nano /etc/default/ramlog

In der Datei muss zumindest die Größe der Ramdisk angegeben werden. Bedenken Sie, dass der RasPi gerade mal 512MB hat, wovon auch noch RAM für die Grafikkarte abgezweigt wird. Mir reichen 10MB

TMPFS_RAMFS_SIZE=10m

Und dann sollte man den RSyslog noch entsprechend anpassen

sudo nano /etc/init.d/rsyslog

Hier ist zweimal "ramlog" zu addieren und dann die Konfiguration zu aktualisieren und neu zu starten

sudo update-rc.d rsyslog defaults
sudo reboot -n

Nach dem Neustart sollten Sie kontrollieren, ob auch alles funktioniert

/etc/init.d/ramlog status

Zur Installation einer neuen Version sollten Sie die alte Version erst deaktivieren

sudo dpkg -P ramlog

Wenn RamLog beendet wird, dann werden die Änderungen aus dem RAM auf die SD-Karte geschrieben

Kleiner Nebeneffekt: Unix sollte man "herunterfahren", um nicht während einem Schreibzugriff auf dem Dateisystem den Strom abzuschalten. Das Risiko ist natürlich deutlich geringer, wenn eh nur in die Ramdisk geschrieben wird.

Andere Ansätze

Ich bin kein Unix-Spezialist und lerne natürlich auch an Beispielen anderer Personen und deren Veröffentlichungen im Internet. So habe ich auch Hinweise gesehen, dass man mit Änderungen in der fstab auf ein tmpfs verweisen kann. Diesen Weg habe ich aber nicht (wissentlich) umgesetzt.

sudo nano /etc/fstab

tmpfs    /tmp        tmpfs      defaults,noatime,mode=1777,size=1m    0    0
tmpfs    /var/log    tmpfs      defaults,noatime,mode=1777,size=5m    0    0
tmpfs    /var/tmp    tmpfs      defaults,noatime,mode=1777,size=1m    0    0

Weitere Links