Korrupte Logfiles bereinigen

Begonnen von FHEMAN, 24 März 2025, 12:18:13

Vorheriges Thema - Nächstes Thema

FHEMAN

Hallo zusammen,

mein Fhem läuft und läuft und läuft... daher habe ich übersehen, dass mein Speicher heute morgen unerwartet voll lief. Was zur Folge hat, dass alle Logwrites abrupt mittendrin aufhörten - und dadurch viele Fehler im Fhemlog auftauchten, die Charts spinnen etc.

Nach den ersten Bereinigungen per Hand wollte ich hier eigentlich nach Erfahrungen und Codeschnipsel fragen.
Da fiel mir ein, dass ich ja auch unsere tollen KIs damit mal füttern könnten - et voilà:

Mit folgendem Snippet könnt ihr alle Logfiles von heute auf Unregelmäßigkeiten durch Logabrisse prüfen und die entsprechende Zeile bereinigen lassen. Es wird im Grunde nach einem korrekten Zeitstempel pro Zeile gesucht und alles davor wird abgeschnitten. Sofern man also als Werte geloggte Timestamps hat und behalten will, nutzt das Script nicht oder passt die Regex an!

Code (Logfile wird vorher nach .bak gesichert)
for file in $(find /opt/fhem/log/ -name "*.log" -type f -daystart -mtime 0); do
 cp "$file" "$file.bak"  # Backup
 sed -E -i's/.*([0-9]{4}-[0-9]{2}-[0-9]{2}_[0-9]{2}:[0-9]{2}:[0-9]{2} .*)/\1/' "$file"
done

Vorher (siehe Zeile 6)
2025-03-24_05:21:12 TempDiffSen.01 T2_T1: 0.2
2025-03-24_05:33:39 TempDiffSen.01 T2_T1: 0.3
2025-03-24_05:36:29 TempDiffSen.01 T2_T1: 0.0
2025-03-24_05:41:26 TempDiffSen.01 T2_T1: 0.2
2025-03-24_05:51:39 TempDiffSen.01 T2_T1: 0.0
2025-03-24_05:53:52 TempDiffSen.01 T2_T2025-03-24_09:27:13 TempDiffSen.01 Sonneintensitaet: 4
2025-03-24_09:27:13 TempDiffSen.01 T2_T1: 5.2
2025-03-24_09:30:00 TempDiffSen.01 Sonneintensitaet: 3
2025-03-24_09:30:00 TempDiffSen.01 T2_T1: 4.9
2025-03-24_09:33:32 TempDiffSen.01 T2_T1: 4.9
Nachher
2025-03-24_05:21:12 TempDiffSen.01 T2_T1: 0.2
2025-03-24_05:33:39 TempDiffSen.01 T2_T1: 0.3
2025-03-24_05:36:29 TempDiffSen.01 T2_T1: 0.0
2025-03-24_05:41:26 TempDiffSen.01 T2_T1: 0.2
2025-03-24_05:51:39 TempDiffSen.01 T2_T1: 0.0
2025-03-24_09:27:13 TempDiffSen.01 Sonneintensitaet: 4
2025-03-24_09:27:13 TempDiffSen.01 T2_T1: 5.2
2025-03-24_09:30:00 TempDiffSen.01 Sonneintensitaet: 3
2025-03-24_09:30:00 TempDiffSen.01 T2_T1: 4.9
2025-03-24_09:33:32 TempDiffSen.01 T2_T1: 4.9

Mir hat das gerade viel Handarbeit erspart und durch den Zeitvorteil (Suchen, Scrollen, Löschen) konnte schnell weiter geloggt werden.
Vielleicht hilft es noch jemandem.
NUC7i5 | PROXMOX | FHEM 6.2 | 1 HMLAND | 2 UART | HM | LMS | HIFIBERRY | DOORBIRD | BLINK | BUDERUS | HUE | ALEXA | MILIGHT | LUFTDATENINFO | MQTT| ZIGBEE2MQTT | INDEGO | ROBOROCK | SMA | APC | OPENWB