Log Datei filtern

Du suchst ein Programm für einen bestimmten Zweck?
Antworten
Benutzeravatar
mosa
Beiträge: 319
Registriert: 29.10.2004 09:53:35

Log Datei filtern

Beitrag von mosa » 04.02.2024 15:06:56

Täglich werden Backups erstellt, deren Ausführung im Logfile hinterlegt sind.
Verzeichnis: /home/333/backup.log
Alpha Datenarchivierung von /home/users wurde beendet So 2024-01-28 13:11:01
Alpha Datenarchivierung von /home/data wurde beendet So 2024-01-28 13:12:08
Alpha Datenarchivierung von /home/public wurde beendet Do 2024-02-01 13:11:01
Jetzt versuche ich das mir "find" zu vereinfachen, indem es die Zeilen in der Datei löscht, die älter als X vom Zeitstempel sind.

schwedenmann
Beiträge: 5529
Registriert: 30.12.2004 15:31:07
Wohnort: Wegberg

Re: Log Datei filtern

Beitrag von schwedenmann » 04.02.2024 15:13:52

Hallo



Hier mal ein Scriopt von mir

#!/bin/bash
verzeichnis=/home/joerg/rsynclogs
cd $verzeichnis
pwd
anzahl=$(find -iname "*.bz2" -mtime +365 | wc -l)
find -iname "*.bz2" -mtime +365 -exec rm {} +
echo gelöschte Dateien = $anzahl

Endung ist bei meinen logs txt.bz2, also sowas wie rsync-logs-xyz.txt.bz2



Mit dem Script lösche ich logs älter als 365 Tage.


mfg
schwedenmann

Benutzeravatar
mosa
Beiträge: 319
Registriert: 29.10.2004 09:53:35

Re: Log Datei filtern

Beitrag von mosa » 04.02.2024 15:42:02

Danke @schwedenmann
Doch mir geht es darum gewisse ZEILEN innerhalb einer Datei zu löschen.
Zum Verständnis: alle Zeilen die nach Zeitstempel älter als x Tage sind = löschen

Mit sid in etwa:
sed -e "2,\$s/^.* //" backup.log
13:11:01
13:12:08
13:11:01
13:12:07
Leider nur die Zeit- und nicht das Datum.
Dazu ? das Löschkommando

Benutzeravatar
heisenberg
Beiträge: 3567
Registriert: 04.06.2015 01:17:27
Lizenz eigener Beiträge: MIT Lizenz

Re: Log Datei filtern

Beitrag von heisenberg » 04.02.2024 16:10:47

mosa hat geschrieben: ↑ zum Beitrag ↑
04.02.2024 15:42:02
Doch mir geht es darum gewisse ZEILEN innerhalb einer Datei zu löschen.
Das kann man natürlich machen. Aber warum der Aufriß? Eine Möglichkeit, wäre das Logfile zu rotieren (Paket: Debianlogrotate Tutorial: https://www.englert.one/logrotate-tutorial) und irgendwann sind die alten Inhalte wegrotiert. (Z. B. Rotationszeit monatlich und nach 6 Monaten gelöscht).
Jede Rohheit hat ihren Ursprung in einer Schwäche.

Antworten