Voorkom een corrupte Micro SD-kaart in de Raspberry Pi

Als je al wat ervaring met een Raspberry Pi (i.c.m. Domoticz) hebt dan weet je dat de Micro SD-kaart nogal wat te lijden heeft vanwege de vele schrijf-acties door het operating system op de MicroSD kaart. Veel applicaties schrijven veelvuldig hun logbestand weg naar de Micro SD-kaart. Wat denk je van Domoticz? Indien je wat meer sensoren en switches heb dan wordt er zowat iedere seconde wel iets weggeschreven. Gelukkig is daar een oplossing voor: Log2Ram. Deze applicatie kan er voor zorgen dat log-data naar RAM wordt weggeschreven. Ieder uur (en als de Raspberry Pi op een normale wijze uitgezet wordt) dan worden de log-bestanden vanuit RAM naar de MicroSD kaart weggeschreven. Dit betekent 99,9% minder schrijfacties op de geheugenkaart!

Benodigdheden

  • Raspberry Pi
  • Raspbian Stretch software
  • Optioneel: Domoticz-installatie

Log-bestanden Raspbian

Haal de installatie van de GitHub-repository:

Ken de juiste rechten toe aan het script:

Start het installatie-scripts:

Verwijder de installatie-bestanden:

Herstart de Raspberry Pi:

Standaard schrijft Log2Ram ieder uur de data naar de geheugenkaart. Mocht je van mening zijn dat dit te vaak is dan kun je dit aanpassen door het dagelijks weg te schrijven. Het cron-bestand verplaatsen we dan van uurlijks naar dagelijks:

Controleer na de reboot of alles goed gegaan is:

 

Tijdelijke bestanden Domoticz

De volgende stap is om de tijdelijke bestanden die Domoticz nodig heeft te verplaatsen naar RAM:

Voeg onderstaande regel toe:

Ik heb er voor gekozen om een 100 Mb RAM-drive aan te maken, maar 25 of 50 Mb moet doorgaans ook voldoende zijn.

Sla het bestand op en mount de RAM-drive:

Controleer of alles goed gegaan is:

Stop Domoticz en pas het /etc/init.d/domotic.sh bestand aan:

Zoek nu #DAEMON_ARGS="$DAEMON_ARGS -log /tmp/domoticz.txt" in het bestand. Wijzig deze regel naar DAEMON_ARGS="$DAEMON_ARGS -log /tmp/log/domoticz.log -loglevel=normal". Vergeet niet het #-teken weg te halen!

Voeg nu regel 6 t/m 9 toe, zoals in onderstaand voorbeeld:

Sla de wijzigingen op en sluit de editor.

Optioneel kun je ook de Z-wave log naar de RAM-drive verplaatsen:

Herstart Domoticz:

Het kan zijn dat er gevraagd wordt om een systemctl daemon-reload te doen:

Je zou nu alle relevante bestanden in de /tmp/log/ directory moeten zien… Hier is een voorbeeld: