Autor Thema: Logdateien diverser Geräte und Definitionen löschen  (Gelesen 2908 mal)

Offline tik-tak-tok

  • Jr. Member
  • **
  • Beiträge: 96
Logdateien diverser Geräte und Definitionen löschen
« am: 16 April 2017, 21:31:09 »
Hallo zusammen,

ich würde gerne (um möglichen Problemen aus Weg zu gehen) alte LOGs, welche älter als 2 Monate sind und nicht mehr in Nutzung sind) automatisch von FHEM löschen lassen.
Kann man dies über ein DOIF realisieren, falls ja, wie müsste der Code denn aussehen?

Habe in Google was gefunden:
archivecmd / archivedir / nrarchive
When a new FileLog file is opened, the FileLog archiver wil be called. This
happens only, if the name of the logfile has changed (due to time-specific
wildcards, see the FileLog section), and there is a new entry to be written
into the file.
If the attribute archivecmd is specified, then it will be started as a shell
command (no enclosing " is needed), and each % in the command will be
replaced with the name of the old logfile.
If this attribute is not set, but nrarchive and/or archivecmd are set, then
nrarchive old logfiles are kept along the current one while older ones are
moved to archivedir (or deleted if archivedir is not set).

Vielleicht kann man das ja dazu nutzen?
Ich möchte nicht nur LOGs von einem bestimmten Gerät ansprechen sondern global alle, denn alte LOGs welche eh nicht mehr in Nutzung sind brauche ich nicht.

Danke & Gruß

Online Otto123

  • Hero Member
  • *****
  • Beiträge: 16630
  • schon mal restore trainiert?
    • Otto's Technik Blog
Antw:Logdateien diverser Geräte und Definitionen löschen
« Antwort #1 am: 16 April 2017, 21:43:19 »
Hi,

das steht nicht bei Google, das steht einfach in der Doku. Und wenn Du willst auch in deutsch  8)

Es handelt sich um ein Attribute, Du kannst diese mit einem regEx auch mit einem Mal auf mehrere "Geräte" anwenden/setzen.

Gruß Otto
Viele Grüße aus Leipzig
RaspberryPi B B+ B2 B3 B3+ ZeroW,HMLAN,HMUART,Homematic,Fritz!Box 7490+7412,WRT1900ACS-OpenWrt,Sonos,VU+,Arduino nano,ESP8266

Offline tik-tak-tok

  • Jr. Member
  • **
  • Beiträge: 96
Antw:Logdateien diverser Geräte und Definitionen löschen
« Antwort #2 am: 16 April 2017, 21:51:27 »
Hi Otto,

danke für deine Antwort.
Welches Attribut genau müsste ich denn nehmen/setzen?

Heißt das ich müsste im regEx jedes Gerät (welches betroffen sein soll) einmalig hinzufügen?

Ginge das nicht irgendwie nach dem Muster "wenn Datei 'log' enthält und älter als xy Tage und nicht mehr in Nutzung/letztes Änderungsdatum älter als xy Tage, dann löschen"?

Dankeschön :-)

Online Otto123

  • Hero Member
  • *****
  • Beiträge: 16630
  • schon mal restore trainiert?
    • Otto's Technik Blog
Antw:Logdateien diverser Geräte und Definitionen löschen
« Antwort #3 am: 16 April 2017, 21:57:58 »
Mit dem Befehl attr FileLog.* nrarchive 5setzt Du bei allen definitionen die mit FileLog beginnen das Attribute nrarchive auf 5, was dafür sorgt, dass nur 5 Logs aufgehoben werden.
Quelle https://fhem.de/commandref_DE.html#nrarchive

Gruß Otto
Viele Grüße aus Leipzig
RaspberryPi B B+ B2 B3 B3+ ZeroW,HMLAN,HMUART,Homematic,Fritz!Box 7490+7412,WRT1900ACS-OpenWrt,Sonos,VU+,Arduino nano,ESP8266
Gefällt mir Gefällt mir x 1 Liste anzeigen

Offline tomspatz

  • Sr. Member
  • ****
  • Beiträge: 563
Antw:Logdateien diverser Geräte und Definitionen löschen
« Antwort #4 am: 05 Februar 2019, 18:49:59 »
Ist es wohl auch möglich das "global" zu setzten?
Ich erreiche ja mit
attr FileLog.* nrarchive 5
Das alle BESTEHENDEN FileLog_ Definitionen gesetzt werden. Wenn allerdings ein neues Gerät eingebunden wird muss man es dafür wieder einzeln tun.

LG
Tom

Offline Feinfinger

  • Full Member
  • ***
  • Beiträge: 104
Antw:Logdateien diverser Geräte und Definitionen löschen
« Antwort #5 am: 07 Februar 2019, 07:43:07 »
Zitat
Hinweis: Werden diese Attribute als global instance gesetzt, hat das auschließlich auf das FHEM logfile Auswirkungen

Offline r00t2

  • Full Member
  • ***
  • Beiträge: 353
Antw:Logdateien diverser Geräte und Definitionen löschen
« Antwort #6 am: 07 Februar 2019, 10:07:46 »
Ich weiß ja nicht, wie es bei Dir ist, aber bei mir werden nicht automatisch Logfiles erzeugt, nur weil ich ein neues Device ins System genommen habe.

Wäre auch etwas lästig, wenn jeder Dummy, den ich mal zum Testen anlege, gleich ein Logfile hat.

Zumal es dann die SD Karte meines Systems unnötig durch Schreibzugriffe belastet. Daher ist mein Prinzip: So wenig wie möglich und nur soviel wie nötig loggen, den Rest einfach per Event verarbeiten.

Du wirst wohl über das manuelle Anlegen von diesen Einstellungen nicht umhin kommen, wenn Du Devices hinzufügst. Es sei denn es gibt tatsächlich eine programmatische Lösung, die - wenn ein neues Device erzeugt wurde - angetriggert wird und die entsprechenden Attribute setzt.

Kurzes OT: Ich sollte meine Alten Logfile Devices mal anschauen - das Attribut createGluedFile klingt gut und das gab es anscheinend "früher" noch nicht (oder ich habe es übersehen) : )
« Letzte Änderung: 07 Februar 2019, 10:15:24 von r00t2 »
FHEM 6.0 (Raspberry Pi 2 B | Raspberry Pi OS Lite | Perl 5.28.1 | UZB Z-WAVE.Me | Hue Bridge V1 | SIGNALDuino 433 MHz | FritzBox | Kodi | Pioneer AVR | MQTT | Node-RED | Diverse Google Dienste)

Offline tomspatz

  • Sr. Member
  • ****
  • Beiträge: 563
Antw:Logdateien diverser Geräte und Definitionen löschen
« Antwort #7 am: 07 Februar 2019, 15:54:47 »
@Finefinger
mit global, war es nicht gemeint es auf das fhem global zu setzten sondern eher diese Einstellung "zentral" für alle neu angelegten devices zu setzten.

@r00t2
Mit devices meine ich wiederum echte Hardware devices, bei denen wie z.B. ZWave schon beim inkludieser ein FileLog angelegt wird. Bei dummys, DOIF'S und sämtlichen anderen Modulen ist das sicherlich nicht nötig.

LG
Tom

Online Otto123

  • Hero Member
  • *****
  • Beiträge: 16630
  • schon mal restore trainiert?
    • Otto's Technik Blog
Antw:Logdateien diverser Geräte und Definitionen löschen
« Antwort #8 am: 08 Februar 2019, 21:18:41 »
Ist es wohl auch möglich das "global" zu setzten?
Ich erreiche ja mit
attr FileLog.* nrarchive 5
Das alle BESTEHENDEN FileLog_ Definitionen gesetzt werden. Wenn allerdings ein neues Gerät eingebunden wird muss man es dafür wieder einzeln tun.

LG
Tom
Das geht meines Wissens nicht. Haben die anderen ja aber auch schon gesagt.

Edit: Aber ich könnte mir vorstellen, falls das Erzeugen des LogFiles Events wirft, dass man damit und einem notify vielleicht das Ganze automatisch machen könnte. Aber war nur eine spontane Idee zum weiterdenken.

Gruß Otto
« Letzte Änderung: 08 Februar 2019, 22:04:58 von Otto123 »
Viele Grüße aus Leipzig
RaspberryPi B B+ B2 B3 B3+ ZeroW,HMLAN,HMUART,Homematic,Fritz!Box 7490+7412,WRT1900ACS-OpenWrt,Sonos,VU+,Arduino nano,ESP8266

 

decade-submarginal