Wie kann ich einen Cron-Job schreiben, um meine Protokolldateien jede Nacht zu archivieren?

Wie kann ich einen Cron-Job schreiben, um meine Protokolldateien jede Nacht zu archivieren?

Ich nehme an, dass das relativ einfach ist, aber meine Shell-Skripting-Kenntnisse sind nicht so gut, deshalb hoffe ich auf Hilfe.

Ich habe eine Aufgabe, die stündlich ausgeführt wird und ihre Ausgabe an eine Protokolldatei anhängt. Ich möchte diese Protokolldatei jede Nacht verschieben, damit das Skript eine leere Datei zum Arbeiten hat und die Protokolle leichter einsehbar sind, wenn ich sie überprüfen muss.

Ich hätte gerne ein Skript, das sich bewegt

/var/log/mein.log

Zu

/var/log/my.log.2 oder my.log.yyyy.mm.dd oder so etwas.

Wie kann ich das ganz einfach machen?

Antwort1

Sie möchten überprüfenlogrotatedas standardmäßig (oder einfach über einen Paketmanager) auf fast jeder größeren Linux-Distribution installiert ist. Es ist ganz einfach, einen einfachen Konfigurationseintrag zum Rotieren Ihrer Protokolldatei zusammenzustellen – alles, was Sie über Konfigurationsoptionen wissen müssen, finden Sie auf dieser Manpage.

Einige Distributionen verwenden ein spezielles /etc/logrorate.d/Verzeichnis, um für jede Protokolldatei (oder eine zugehörige Gruppe von Protokolldateien) einzelne Logrotate-Dateien anzugeben. Wenn Ihre Distribution diese Methode verwendet, müssen Sie lediglich in diesem Verzeichnis eine entsprechend benannte Datei mit einem Konfigurationsblock erstellen, wie in der Manpage beschrieben.

Andernfalls können Sie Ihren neuen Konfigurationsblock einfach an das Ende der vorhandenen /etc/logrotate.confDatei anhängen.

verwandte Informationen