-
Notifications
You must be signed in to change notification settings - Fork 7
Logdaten Dateigrößen beschränken
Bei über längere Zeit durchlaufenden Systemen sind einige Punkte zu beachten, damit die Systeme wirklich stabil bleiben. Ein wichtiger Punkt, gerader bei Raspberry Pis, ist dabei die Überwachung der Log-Daten. Diese haben mitunter die Tendenz, den möglicherweise geringen Speicherplatz auf der SD Karte vollständig auszufüllen. In Linux gibt es hierzu das sehr elegante Verfahren logrotate, das wir auch im Caravan Pi nutzen wollen.
Das Verfahren logrotate wird über die Crontab des Users root gestartet. Die zentrale Konfiguration befindet sich in der Datei /etc/logrotate.conf
. Die Konfigurationen von einzelnen Projekten befinden sich meist im Verzeichnis /etc/logrotate.d
. Die Konfigurationen in diesem Verzeichnis werden automatisch ausgewertet und ausgeführt.
Für den CaravanPi empfehle ich jedoch ein anderes Vorgehen. Die Konfigurationsdatei für logrotate für die Logdaten des CaravanPi lege ich in das Verzeichnis ~/CaravanPi
. So kann die Konfiguration über git aktualisiert und weiterentwickelt werden.
Das Verfahren logrotate wird über die crontab des Users root gestartet. Dazu ändern wir die Crontab wie folgt:
sudo crontab -e
Wir nehmen folgende Zeilen auf, falls nicht schon enthalten
# Logrotate starten
@reboot sleep 300 && logrotate /etc/logrotate.conf
00 05 * * * logrotate /etc/logrotate.conf
Nun kontrollieren wir die vorhandene /etc/logrotate.conf bzw. legen diese an:
sudo nano /etc/logrotate.conf
Die Datei sollte in etwa so aussehen:
# see "man logrotate" for details
# rotate log files weekly
weekly
# keep 4 weeks worth of backlogs
rotate 4
# create new (empty) log files after rotating old ones
create
# use date as a suffix of the rotated file
#dateext
# uncomment this if you want your log files compressed
#compress
# packages drop log rotation information into this directory
include /etc/logrotate.d
# system-specific logs may be also be configured here.
# CaravanPi
include /home/pi/CaravanPi/logrotate/logrotate-CaravanPi.conf
Nun kontrollieren Sie die Konfigurationsdateien unter /etc/logrotate.d
. Kontrollieren Sie auch das Verzeichnis /var/log
indem Sie aufrufen
sudo ls -al /var/log
In der Regel sollten alle Dateien dort mehrfach mit den Erweiterungen .1
oder auch .2.gz
vorhanden sein. Gibt es (große) Dateien, die noch nicht versioniert werden, so legen Sie unter /etc/logrotate.d
eine entsprechende Konfigurationsdatei an. Als Muster kann z.B. /etc/logrotate.d/alternatives
dienen.
Nehmen Sie, falls noch nicht geschehen, in die Datei /etc/logrotate.conf
die nachfolgenden Zeilen am Ende der Datei auf:
# system-specific logs may be also be configured here.
# CaravanPi
include /home/pi/CaravanPi/logrotate/logrotate-CaravanPi.conf
In der Datei /home/pi/CaravanPi/logrotate/logrotate-CaravanPi.conf
wird festgelegt, dass
- alle Logdateien wöchentlich "rotiert" werden
- vier Versionen aufbewahrt werden
- die rotierten Logdateien eine Datumsextension bekommen
- die rotierten Logdateien ab der zweiten Generation komprimiert werden
Welche Logdateien logrotate einbezieht ist, dann wiederum im jeweiligen Directory in der Datei .logrotate.conf
geregelt.
Diese Verzeichnisse sind im Standard von CaravanPi vorgesehen:
- ~/CaravanPi/.log
- ~/CaravanPi/values
- ~/.pm2 (für den MagicMirror)
Alle Konfigurationsdateien für logrotate müssen root gehören. Dies erledigen wir so
sudo chown root.root /home/pi/CaravanPi/logrotate/logrotate-CaravanPi.conf /home/pi/CaravanPi/*/.logrotate.conf /home/pi/CaravanPi/.*/.logrotate.conf
Starten Sie logrotate einmal manuell mit dem Befehl
sudo logrotate --force /etc/logrotate.conf
CaravanPi - smart Caravan based on Raspberry Pi
(c) Josef Spitzlberger, Schloss Lustheim, Munich, Germany, 2019ff
CaravanPi Wiki
- Testaufbau
- Raspberry Pi OS installieren und initial konfigurieren
- MagicMirror installieren
- CaravanPi Skripte installieren
- MagicMirror vorbereiten & updaten
- OBSOLET V2 - Bottle Framework installieren
- Ein-/Aus-Schalter installieren
- Bewegungsmelder installieren
- Hupe/Buzzer installieren
- weitere Taster installieren
- OBSOLET V2 - Konfigurations-Website einrichten
- Temperatur Sensoren installieren
- Temperatur Sensoren anzeigen
- Gasflaschenwaage HX711 installieren
- Gasflaschenfüllstand anzeigen
- mehrere Gasflaschen Waagen anschließen
- I2C-Bus einrichten
- Klimasensor installieren
- Klimasensor BME280 anzeigen
- Klimasensor BME680 anzeigen
- GPIO Ports mit MCP23017 erweitern
- Lage-Sensor installieren
- Lage-Sensor anzeigen
- I2C Extender - langes Kabel
- Tank-Füllstände auslesen
- LEDs zur Lageanzeige
- RGB-LEDs am MCP23017 betreiben
- LED Einbau im Testaufbau
- Caravan ausrichten im Testaufbau
ab hier altes WIKI, muss noch umgezogen werden
XX = in Bearbeitung NEU = neue Funktion in letzter Version
- Stromversorgung Grundsätzliches
- Testgerät bauen
- Verkabeln am Caravan
- Gasflaschen-Waage bauen
- LEDs am Caravan anbringen
- Temperaturfühler im Kühlschrank anbringen
- Klimasensoren innen & außen anbringen
- Stromversorgung Raspberry Pi
- Stromversorgung Monitor
- WLAN im Caravan
- CaravanPi in Betrieb nehmen
- Gasflaschenwaage in Betrieb nehmen
- Defaultwerte für Lage, etc eintragen
- NEU XX Vorüberlegungen
- NEU XX MariaDB installieren
- NEU XX CaravanPi Datenbank anlegen
- NEU XX phpmyadmin installieren
- NEU XX Grafana installieren
- NEU XX Grafana auf MagicMirror anzeigen
- NEU XX Pythonzugriff auf MariaDB
- NEU XX Problembehandlung MariaDB, Grafana
- NEU XX Vorüberlegungen
- NEU XX Flask installieren
- NEU XX Status-Website einrichten
- NEU XX vorhandene Websites migrieren
- NEU XX 230V Eingang prüfen
- NEU XX 12V Batterie prüfen
- NEU XX Gassensor