Log rotation auf Frit!Box 7390

Begonnen von bgewehr, 10 August 2014, 13:26:52

Vorheriges Thema - Nächstes Thema

bgewehr

Hallo,

mein ./log Folder braucht regelmäßige Pflege, die ich gern automatisieren würde.

Eine log-rotation machenwir ja schon mit -%Y-%m, aber das regelmäßige packen oder verschieben auf dem USB-Stick würde ich gern automatisch machen.

Gibt es schon einen Standardansatz dafür? Ich habe hier nichts gefunden...

Danke und Gruß, Bernd
FritzBox 7590, Synology DS216+II mit Docker
Docker: FHEM mit hmlan, Homebridge, node-red, mosquitto, ems-collector für Buderus EMS mit AVR Net-IO
Gartenwasser über MQTT auf R/Pi A+
Volkszaehler.org auf R/Pi 2B mit Pi_Erweiterung
Raspberrymatic auf R/Pi 4B mit RPI-RF-MOD u. CUL868

rudolfkoenig


bgewehr

Hallo, Rudolf!

Nun ja, dort steht, dass per archivecmd ein Shell Befehl abgesetzt werden kann, wenn ein neues Log eröffnet wird. Das liefert zwar den Trigger, aber nicht die Lösung.

Ich werde also damit experimentieren, hatte einfach gehofft, mir die Fummelei sparen zu können.

Oder gibt es irgendwo fertige Beispiele für verschiedene Umgebungen und mit oder ohne Zippen?

Ich suche die Lösung für mit Zip auf Fritz!Box 7390!

Vielen Dank!
FritzBox 7590, Synology DS216+II mit Docker
Docker: FHEM mit hmlan, Homebridge, node-red, mosquitto, ems-collector für Buderus EMS mit AVR Net-IO
Gartenwasser über MQTT auf R/Pi A+
Volkszaehler.org auf R/Pi 2B mit Pi_Erweiterung
Raspberrymatic auf R/Pi 4B mit RPI-RF-MOD u. CUL868

Brockmann

Hast Du Dir das gründlich durchgelesen und auch die Bedeutung von archivedir und nrarchive erfasst?
Du kannst ganz ohne archivecmd alleine durch Setzen von archivedir und nrarchive alte Logs automatisch an andere Stelle (beispielsweise Dein USB-Stick) verschieben lassen.
Das ist doch schon mal eine ganze Menge Funktionalität, finde ich.
OK, zippen müsstest Du noch selbst, und genau dafür gibt es ja archivecmd.

bgewehr

OK, ich glaube, jetzt hab ich's begriffen, danke!   :-\ ::)
FritzBox 7590, Synology DS216+II mit Docker
Docker: FHEM mit hmlan, Homebridge, node-red, mosquitto, ems-collector für Buderus EMS mit AVR Net-IO
Gartenwasser über MQTT auf R/Pi A+
Volkszaehler.org auf R/Pi 2B mit Pi_Erweiterung
Raspberrymatic auf R/Pi 4B mit RPI-RF-MOD u. CUL868

Fritzi

#5
Ich hoffe, die Frage ist nicht zu sehr "off-topic", aber kennt jemand eine Möglichkeit, Daten in einem Logfile zu "purgen". Also nicht immer neues File aufzumachen, sondern ältere Daten im Logfile automatisch zu löschen und - sagen wir mal -  immer nur die Daten der letzten zwei Tage aufzubewahren?

Mich nervt es etwas, dass ich bei den Plots immer einen harten Cut habe, wenn ein neues File aufgemacht wird.

Liebe Grüße
Fritz
FHEM 5.6 auf RaspberryPi2 mit Busware CUL culfw V1.61
CUL_HM     : HM-CC-RT-DN,HM-LC-SW1-FM,HM-LC-Sw1PBU-FM,HM-SEC-SC,HM-Sen-MDIR-O-2,HM-TC-IT-WM-W-EU
FBDECT      : Dect200
HUEDevice  : LCT001,LCT003

bgewehr

Nun, da ich es begriffen habe, würde ich sagen, dass der vorgegebene Weg dazu der folgende ist: nrarchive ist eine Zahl, die die Anzahl der Archivdateien festlegt, die vorgehalten werden. Wenn der Logdateiname nun mit Logname-%Y-%m-%d.log erstellt wird, bekommst Du für jeden Tag ein Log und soviele Tage, wie Du in nrarchive als Attr des filog devices angegeben hast. Nur leider sind die Daten nicht zusammenhängend, was immer in den SVGs häßliche Lücken ausmacht, aber - man kann nicht alles haben...


Gesendet von meinem iPad mit Tapatalk
FritzBox 7590, Synology DS216+II mit Docker
Docker: FHEM mit hmlan, Homebridge, node-red, mosquitto, ems-collector für Buderus EMS mit AVR Net-IO
Gartenwasser über MQTT auf R/Pi A+
Volkszaehler.org auf R/Pi 2B mit Pi_Erweiterung
Raspberrymatic auf R/Pi 4B mit RPI-RF-MOD u. CUL868

Fritzi

Und das ist genau das Problem. nrarchive ist da keine Lösung, weil die Daten der alten Files eben nicht geplottet werden.
FHEM 5.6 auf RaspberryPi2 mit Busware CUL culfw V1.61
CUL_HM     : HM-CC-RT-DN,HM-LC-SW1-FM,HM-LC-Sw1PBU-FM,HM-SEC-SC,HM-Sen-MDIR-O-2,HM-TC-IT-WM-W-EU
FBDECT      : Dect200
HUEDevice  : LCT001,LCT003

bgewehr

FritzBox 7590, Synology DS216+II mit Docker
Docker: FHEM mit hmlan, Homebridge, node-red, mosquitto, ems-collector für Buderus EMS mit AVR Net-IO
Gartenwasser über MQTT auf R/Pi A+
Volkszaehler.org auf R/Pi 2B mit Pi_Erweiterung
Raspberrymatic auf R/Pi 4B mit RPI-RF-MOD u. CUL868

Fritzi

#9
Habe mal etwas experimentiert:

Wenn ich in Fhem das Shell Kommando ""tail -n 100 /var/media/ftp/fhem/log/Heizung-2014-32.log > /var/media/ftp/fhem/log/test.txt"" eingebe, kommt als Ergebnis eine "1" und im log die Meldung: sh: tail -n 100 /var/media/ftp/fhem/log/Heizung-2014-32.log > /var/media/ftp/fhem/log/test.txt: not foundtest.txt wird  nicht angelegt.

Gebe ich das Kommando jedoch über Telnet ein, funktioniert alles wie gewünscht. test.txt enthält die letzten 100 Zeilen des Heizungs-Log. Was mache ich falsch? Jemand eine Idee?
FHEM 5.6 auf RaspberryPi2 mit Busware CUL culfw V1.61
CUL_HM     : HM-CC-RT-DN,HM-LC-SW1-FM,HM-LC-Sw1PBU-FM,HM-SEC-SC,HM-Sen-MDIR-O-2,HM-TC-IT-WM-W-EU
FBDECT      : Dect200
HUEDevice  : LCT001,LCT003

hexenmeister

Auf den ersten blick: es werden falsche anführungszeichen verwendet.

Fritzi

#11
oh, da hatte ich wohl Tomaten auf den Augen...

Packe ich das Kommando nur in ein Paar Anführungszeichen, dann passiert merkwürdigerweise folgendes:
Die test.txt wird angelegt, bleibt aber leer. Der erwartete Inhalt hingegen wird in das Standard fhem.log geschrieben.

Mmmh. Woran kann das jetzt liegen?
FHEM 5.6 auf RaspberryPi2 mit Busware CUL culfw V1.61
CUL_HM     : HM-CC-RT-DN,HM-LC-SW1-FM,HM-LC-Sw1PBU-FM,HM-SEC-SC,HM-Sen-MDIR-O-2,HM-TC-IT-WM-W-EU
FBDECT      : Dect200
HUEDevice  : LCT001,LCT003

rudolfkoenig

Dass FHEM an Shell-Befehle automatisch ein
  >> $currlogfile 2>&1
dranhaengt. Falls man Dateiumleitung verwenden will, dann sollte man das in einem sub-shell machen:
"(Befehl > Datei)"

Fritzi

#13
Danke, somit gelöst: define LogKomprimieren at *02:00 "(tail -n 500 ./log/Heizung.log > ./log/HeizungTail.log && cat ./log/HeizungTail.log > ./log/Heizung.log && rm ./log/HeizungTail.log)"
attr LogKomprimieren icon system_fhem
attr LogKomprimieren room Programme


Was passiert hier?
Täglich um 02:00 wird das Logfile "Heizung.log" auf die letzten 500 Readings gekürzt. Somit entfällt das oben beschriebene Problem, dass bei automatisch neu erstellten Logs die Historie in den Plots nicht mehr angezeigt wird.
FHEM 5.6 auf RaspberryPi2 mit Busware CUL culfw V1.61
CUL_HM     : HM-CC-RT-DN,HM-LC-SW1-FM,HM-LC-Sw1PBU-FM,HM-SEC-SC,HM-Sen-MDIR-O-2,HM-TC-IT-WM-W-EU
FBDECT      : Dect200
HUEDevice  : LCT001,LCT003