[FHEM] Log archiving

611 views
Skip to first unread message

Csaba

unread,
Apr 27, 2010, 10:53:24 AM4/27/10
to FHEM users
Kleines Problem beim archiving von logs. Ich habe folgende global log
definiert:

attr global logfile /fhem/log/fhem-%Y-%m-%d.log
attr global archivecmd /bin/gzip %
attr global archivedir /fhem/log/archive
attr global nrarchive 1

....

# Fake logfile, to access the global log
define FhemLogfile FileLog /fhem/log/fhem-%Y-%m-%d.log fakelog
attr FhemLogfile archivecmd /bin/gzip %
attr FhemLogfile archivedir /fhem/log/archive
attr FhemLogfile nrarchive 1

Aus der doku verstehe ich es so das beim oeffnen des neues logs die
alte log mit gzip komprimiert und dann nach archivedir geschoben
wird.
Leider passiert bei mir nichts dergleichen. Auzug aus dem log:

010.04.26 23:30:47 2: FS20 set ...
2010.04.27 07:30:00 2: Archive: calling /bin/gzip /fhem/log/
fhem-2010-04-27.log
gzip: /fhem/log/fhem-2010-04-27.log: No such file or directory

Normalerweise muesste der Befehl /bin/gzip /fhem/log/
fhem-2010-04-26.log sein.

Es ist nicht klar fur mich wieso der neue Log archiviert werden soll
bevor es uberhaupt erstellt wird.

--
Sie haben diese Nachricht erhalten, da Sie der Google Groups-Gruppe FHEM users beigetreten sind.
Wenn Sie Nachrichten in dieser Gruppe posten möchten, senden Sie eine E-Mail an fhem-...@googlegroups.com.
Wenn Sie aus dieser Gruppe austreten möchten, senden Sie eine E-Mail an fhem-users+...@googlegroups.com.
Besuchen Sie die Gruppe unter http://groups.google.com/group/fhem-users?hl=de, um weitere Optionen zu erhalten.

Rudolf Koenig

unread,
Apr 28, 2010, 12:15:59 PM4/28/10
to fhem-...@googlegroups.com
Szia Csaba.

> Es ist nicht klar fur mich wieso der neue Log archiviert werden soll
> bevor es uberhaupt erstellt wird.

Mir auch nicht, es ist ein Bug, und da offensichtlich kaum einer diesen feature
nutzt, faellt es nicht auf.

Ich vermute, man kann es fixen, indem man in fhem.pl, Funktion OpenLogfile()
die Zeile mit HandleArchiving zwei Zeilen hoeher schiebt, also vor
$defs{global}{currentlogfile} = $param;

Koenntest Du das bitte testen?

Gruss,
Rudi

Csaba

unread,
Apr 29, 2010, 10:13:42 AM4/29/10
to FHEM users
Szia,

Habe die Aenderung eingepflegt, bin gespannt ...

Gruss,

Csaba

Csaba

unread,
May 4, 2010, 9:21:35 AM5/4/10
to FHEM users
Hallo

Also, ich habe gute und schlechte Nachrichten.
Die Aenderung hat geholfen in dem Sinne das gzip jetzt korrekt
ausgefuhrt wird d.h. der Log vom vorigen Tag
wird komprimiert aber die Dateien werden nicht nach archivedir
geschoben. Um zu testen ob der geanderte Dateiname
schuld ist (gzip fuegt ein .gz hinzu) habe ich archivecmd rausgenommen
und nrarchive = 1 und archivedir = /fhem/log/archive.
Auch in diesem Fall wird das aeltere log nicht nach archivedir
geschoben. Im Prinzip koennte ich das aber durch
einen Shell Skript machen und ueber archivecmd laufen lassen, da ich
bisher keinen Kontakt zu Perl hatte.

Rudolf Koenig

unread,
May 4, 2010, 9:38:11 AM5/4/10
to fhem-...@googlegroups.com
> Also, ich habe gute und schlechte Nachrichten.

Gute fuer mich, und schlechte fuer Dich :)


> Die Aenderung hat geholfen in dem Sinne das gzip jetzt korrekt ausgefuhrt
> wird d.h. der Log vom vorigen Tag wird komprimiert aber die Dateien werden
> nicht nach archivedir geschoben.

Das ist korrekt, entweder archivecmd oder (archivedir mit nrarchive).
Schliesslich kann fhem nicht ahnen, was das Ergebnis von archivecmd ist.
Theoretisch koennte archivecmd die Datei ja auch auf Tape sichern oder anderen
Unsinn damit treiben :)

Vorschlag:
attr global archivecmd "gzip %; mv %.gz /var/log/archivedir"
(ungetestet)


Gruss,
Rudi

Csaba

unread,
May 4, 2010, 10:09:00 AM5/4/10
to FHEM users
> Das ist korrekt, entweder archivecmd oder (archivedir mit nrarchive).

Ok, jetzt verstehe ich.

Im zweiten Test hatte ich den Fall "(archivedir mit nrarchive)",
jedoch mit der Aenderung drin.
Ich teste mal auch ohne Aenderung "(archivedir mit nrarchive)", dann
koennte ich gzip per crontab laufen lassen.
In diesem Fall muesste ich bei Upgrades nicht die Aenderung nochmal
machen.

> Schliesslich kann fhem nicht ahnen, was das Ergebnis von archivecmd ist.
> Theoretisch koennte archivecmd die Datei ja auch auf Tape sichern oder anderen
> Unsinn damit treiben :)

Richtig.
(meine slug wuerde super aussehen mit einer Tape device
daneben ... :-) )

> Vorschlag:
> attr global archivecmd "gzip %; mv %.gz /var/log/archivedir"
> (ungetestet)

Wird auch getestet.

Danke,

Csaba

reacend

unread,
Dec 15, 2012, 7:08:52 AM12/15/12
to fhem-...@googlegroups.com
Hi,
Frage: hast du es mit der logarchivierung hinbekommen?
Bei mir wachsen die Monats logs von einzelnen räumen inzwischen auf sage und schreibe 24MB...

Wenn ja wie lauten die Beispiel commands?

BG,
mark
Reply all
Reply to author
Forward
0 new messages