löschen Filelogs (delete filelogname) löscht das File nicht?!

Begonnen von Soc, 07 Oktober 2015, 10:04:39

Vorheriges Thema - Nächstes Thema

Soc

Hallo Zusammen,

ich habe vor geraumer Zeit das logging auf sqlite3 umgestellt.
Nun habe ich heute mit dem fhem Befehl delete logfilename die überflüssigen Logfiles gelöscht.
Die Files selber werden aber wohl nicht gelöscht (/opt/fhem/log/).

Sprich: Von Hand löschen?

Gruß

Soc

betateilchen

Mit delete logfilename löscht Du ja nicht auf Betriebssystemebene, sondern nur innerhalb von fhem. Du hast also nur die Definition des devices gelöscht, dsa die Logfiles schreibt. Die Dateien auf Deiner Festplatte werden davon überhaupt nicht angerührt.

Das Prinzip ist fhem-weit das gleiche:


  • Wenn Du ein SVG löscht, wird das device gelöscht, aber nicht das zugehörige gplot-File
  • Wenn Du ein RSS löscht, wird das device gelöscht, aber nicht das zugehörige layout-File
  • usw.

Das Löschen solcher Dateien muss immer im Betriebssystem erfolgen. Aber dank Wildcards läßt sich das ja mit einem einzigen Befehl durchführen, z.B.

rm /opt/fhem/log/fhem-2015*

oder wie auch immer Deine Dateinamen aussehen.



-----------------------
Formuliere die Aufgabe möglichst einfach und
setze die Lösung richtig um - dann wird es auch funktionieren.
-----------------------
Lesen gefährdet die Unwissenheit!

Soc


rudolfkoenig

Code ist zwar dafuer vorhanden (DeleteFn), es war mir offensichtlich zu riskant, es zu aktivieren:

------------------------------------------------------------------------
r5068 | rudolfkoenig | 2014-02-28 08:15:18 +0100 (Fri, 28 Feb 2014) | 4 lines

FileLog: deactivate the actual file-deletion, as deleting a device may happen
accidentally, and there is no easy way to reclaim the lost data

karl0123

Ich bin eigentlich nicht so ein Fan von zu viel Javascript aber könnte man im Falle eines deletes (vor allem beim Link unter der Detailansicht) nicht einfach das Löschen mit Hilfe eines Dialogs bestätigen lassen? Gerade mit dem Link hat man schnell mal ein Device gelöscht, das man eigentlich nicht löschen wollte.

Dann könnte man auch das Löschen der File-Log Datei wieder aktivieren.

betateilchen

Zitat von: karl0123 am 07 Oktober 2015, 14:10:03
Gerade mit dem Link hat man schnell mal ein Device gelöscht, das man eigentlich nicht löschen wollte.

Solange man kein SAVE ausführt, passiert dabei gar nichts. Einfach ein rereadcfg und das Device ist wieder da.
Ausserdem hat man für sowas auch immer eine aktuelle Datensicherung seiner fhem-Konfiguration parat.

Und generell ist das ein Problem, das ausschließlich Anwender betrifft, die mit fhem.cfg arbeiten. In der configDB ist selbst nach einem SAVE immer noch die letzte Konfigurationsversion wiederherstellbar.
-----------------------
Formuliere die Aufgabe möglichst einfach und
setze die Lösung richtig um - dann wird es auch funktionieren.
-----------------------
Lesen gefährdet die Unwissenheit!

rudolfkoenig

Erstens gibt es auch andere Frontends, zweitens bin ich kein Fan von erst klicken dann denken, drittens kann man nach versehentliches Loeschen ein "shutdown restart" ohne save durchfuehren. Wenn wir mit dem Dialog anfangen wuerden, dann muessten wir konsequenterweise nach jeder Aenderung save automatisch durchfuehren.

karl0123

Das ist mir alles bewusst, führt aber zu zusätzlichem Aufwand. Außerdem war es nur ein Vorschlag um das im Thread angesprochene "Problem" zu lösen, falls man überhaupt von einem Problem sprechen kann. Die "du bist doof, weil du nicht weißt, dass man auf SAVE drücken muss" Keule zu schwingen war hier sicher nicht nötig.

Das hat im Übrigen nichts mit "erst klicken dann denken" oder einer vorhandene Datensicherung zu tun. Die Links in der Deviceansicht stehen so eng beisammen, dass so ein falscher Klick passieren kann, auch wenn man gedacht hat. Dasselbe gilt für Attribute. Usability ist das Stichwort. Von Touch-Devices will ich gar nicht reden, weil man die natürlich für die Administration möglichst nicht verwenden sollte.

Die Mehrheit wird im Übrigen die fhem.cfg verwenden, da bin ich ziemlich sicher, das tut aber nichts zur Sache. Ein "shutdown restart" ist ganz sicher für ein Produktivsystem kein wirklich sinnvoller Tipp und kein Ersatz für eine benutzerfreundliche Umgebung. Konsequenterweise sollte man andernfalls die Links zum Löschen eines Devices aus der Detailansicht entfernen, da die Eingabe in die Kommandozeile das "denken" wahrscheinlicher macht.

Denken hätte hier auch geholfen, den Vorschlag richtig zu interpretieren.