Hallo Zusammen,
Habe folgendes Problem:
Ich habe Logfiles, die in folgenden Formaten vorliegen:
access.log.42.gz <- Laufende Nummer gepackt für eine Woche.
access.log.43.gz
access.log.44.1 <-Ungepackt für einen Tag
access.log.44.1.gz <-Gepackt für einen Tag
access.log.44.2.gz
Nach access.log.44.7.gz bekomme ich dann das access.log.44.gz, in dem alle laufenden Nummern enthalten sind.
Nun möchte ich, sobald ich beispielsweise das access.log.44.gz habe, die entsprechenden access.log.44.1.gz, access.log.44.2.gz, usw. und die access.log.44.1, access.log.44.2, usw. löschen.
Leider weiß ich nur nicht genau, wie ich das anstellen soll.
Mittels
und
liste ich mir zwar die Dateien, die ich gerne löschen möchte, nur wie prüfe ich das, damit die auch erst gelöscht werden, wenn das gesamte gepackte Wochenpaket da ist?
Eine Idee wäre, die fehlende Zahl mit einem Array und den Zahlen 1-52 anzulegen und das Ganze in eine Schleife zu packen, aber da gibt es doch sicher einen eleganteren Weg?
Habe folgendes Problem:
Ich habe Logfiles, die in folgenden Formaten vorliegen:
access.log.42.gz <- Laufende Nummer gepackt für eine Woche.
access.log.43.gz
access.log.44.1 <-Ungepackt für einen Tag
access.log.44.1.gz <-Gepackt für einen Tag
access.log.44.2.gz
Nach access.log.44.7.gz bekomme ich dann das access.log.44.gz, in dem alle laufenden Nummern enthalten sind.
Nun möchte ich, sobald ich beispielsweise das access.log.44.gz habe, die entsprechenden access.log.44.1.gz, access.log.44.2.gz, usw. und die access.log.44.1, access.log.44.2, usw. löschen.
Leider weiß ich nur nicht genau, wie ich das anstellen soll.
Mittels
Code:
find -type f -name "access.log.??.?.*"
Code:
find -type f -name "access.log.??.?"
Eine Idee wäre, die fehlende Zahl mit einem Array und den Zahlen 1-52 anzulegen und das Ganze in eine Schleife zu packen, aber da gibt es doch sicher einen eleganteren Weg?