Korrektur eines älteren Shell-Beispiels: Bei GNU date steht %m für den Monat, nicht für die Minute. Für Minuten lautet der Platzhalter %M. Der ursprüngliche Eintrag verwendete hier versehentlich %m.
Zeitstempel im Shell-Skript erzeugen
mydatum=$(date '+%a_%b_%e_%H:%M:%S')
printf 'Starte Skript um %s\n' "$mydatum" >> rotate.log
Die Ausgabe enthält abgekürzten Wochentag und Monat, den Tag des Monats sowie Stunde, Minute und Sekunde. Mit $(...) kann die Ausgabe von date direkt in eine Variable übernommen werden; eine zusätzliche temporäre Datei ist dafür nicht nötig. Durch >> wird an die bestehende Logdatei angehängt, statt sie bei jedem Start zu überschreiben.
Wer einen für Dateinamen besser sortierbaren Zeitstempel bevorzugt, kann beispielsweise date '+%Y-%m-%d_%H-%M-%S' verwenden. Die Groß-/Kleinschreibung der Formatzeichen ist dabei wesentlich.
Quelle: GNU Coreutils, Zeitformatzeichen und Datumsformatzeichen. Redaktionell überprüft am 18. Oktober 2026.