Ohne eine Änderung an Ihrem Prozess wird Logrotate allein nicht das tun, wonach Sie hier suchen. Das Hauptproblem hierbei ist, dass logrotate zwar Platzhalterzeichen akzeptiert, die Dateien in diesem Fall jedoch nicht als eine behandelt und stattdessen versucht, alle Dateien einzeln zu drehen. Dies ist definitiv NICHT das, was Sie möchten.
Sie können es jedoch so einrichten, wie Sie es beschreiben, solange das letzte Backup ohne Datumsstempel erstellt wird. Wenn Sie /root/backup.tar.gz
zum Beispiel einen Sicherungsprozess erstellen, können Sie die folgende Konfiguration für die Protokollierung verwenden:
/root/backup.tar.gz {
rotate 5
nocompress
dateext
dateformat _%Y-%m-%d
extension .tar.gz
missingok
}
Der kurze Überblick über die Optionen hier:
rotate 5
- Behalten Sie vor dem Löschen 5 Umdrehungen bei
nocompress
- Komprimieren Sie die Dateien nach dem Drehen nicht
dateext
- Verwenden Sie das Datum als Rotationserweiterung, anstatt die Zahlen zu erhöhen
dateformat _%Y-%m-%d
- Legen Sie das Datumserweiterungsformat fest, das Sie verwenden möchten
extension .tar.gz
- machen Sie das .tar.gz
kommen nach der Rotation Verlängerung
missingok
- Wenn die zu drehende Datei nicht vorhanden ist, machen Sie sich keine Sorgen und fahren Sie fort (standardmäßig wird ein Fehler ausgegeben).
Hoffe das hilft!
Sie müssen nicht logrotate verwenden, um es zu tun. Verwenden Sie einfach einen Befehl wie diesen:
Dieser Befehl belässt die letzten 5 Dateien und entfernt die verbleibenden (falls vorhanden). Sie können es in einem Cron-Job verwenden.
quelle
Ich hatte gerade die gleiche Situation. Logrotate klingt ziemlich cool, aber es hat bei mir nicht zu 100% funktioniert, weil es nicht mit Daten und Dateinamen übereinstimmt.
Um Verwirrung zu vermeiden, habe ich mich entschlossen, die folgende Zeile einzufügen, die ausgeführt werden soll, nachdem mein aktuelles Backup erstellt wurde, um die letzten 5 Backups zu behalten.
Meine Logs sind zB:
Neue Zeile in meinem Backup-Skript (basierend auf einem Kommentar oben)
Grüße,
quelle
Sie können es manuell drehen.
Jetzt müssen Sie nur noch die Daten in das Protokoll aufnehmen
quelle