Hallo zusammen,
ich weiß nicht ob jemand dieses Thema hier schon angeschnitten hat, daher bin ich so frei und eröffne ein neues Topic ☺
Meine Idee ist die folgende: ich habe eine log Datei die nach einer gewissen Zeit "voll" ist. Nun möchte ich diese Datei mit einem Skript packen (maximal 5 Dateien). Dies soll wöchentlich, oder auch zwei- wöchentlich passieren. Wenn die maximale Anzahl erreicht der gepackten Dateien ist, soll die älteste dieser Dateien gelöscht werden. Wie der zeitliche Ablauf funktionieren soll mittels cron ist mir durchaus bewusst, nur habe ich ein Problem beim erstellen des Skriptes.
Dieses sieht wie folgt aus:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 | #!/bin/bash pfad="/home/cnt.txt" cnt=`cat $pfad` max="5" if [ "$cnt" -lt $max ];then echo $(($cnt+1)) > $pfad cd /home tar czfv backup_log.tgz datei1.log cp backup /home/$(date "+%y%m%d")_"$cnt"_backup.tgz fi exit 0 |
Die Dateien werden alle nacheinander angelegt wenn ich den Befehl mehrfach hintereinander in der Konsole ausführe. Ist soweit auch alles in Ordnung. Jetzt fehlt mir allerdings die letzte Idee von hinten nach vorne aufzuräumen. Der Plan sieht vor, die älteste Datei beim Ausführen des Skriptes zu löschen. Eine Idee hierzu habe ich zwar schon, aber es hängt mehr an der Syntax wie dies zu schreiben ist. Jetzt die FrageL: Hat jemand sowas schonmal verfolgt bzw. einen Lösungsvorschlag für mich? Danke schonmal für die Rückmeldung!
MfG
slayter