Unterstützung für% H wurde in Version 3.9.0 hinzugefügt. In früheren Versionen hat logrotate nicht STRFTIME „% H unterstützen:
Datumsformat format_string: Geben Sie die Erweiterung für dateext die Notation unter Verwendung ähnlicher strftime (3) Funktion nur% Y% m% D und% s Spezifizierer sind. erlaubt.
von der logrotate Manpage http://linux.die.net/man/8/logrotate
aber Sie %s
im Datumsformat Zeichenfolge verwenden können, die seit 1970-01-01 die Anzahl von Sekunden ist. Sie dateformat -%Y%m%d-%s
einstellen. Dies wird produzieren eindeutige Dateinamen jedes Mal, wenn das Protokoll gedreht wird, so Sie kann die Datei mehrmals am Tag drehen. Leider wird der %s
Teil nicht einfach zu lesen sein, aber Sie können ihn einfach in ein lesbares Datum mit perl -e "print scalar(localtime(1451214849))"
konvertieren.
Auf einigen Systemen ermöglicht das Programm date
eine einfache Konvertierung mit date -d @1451214849
(z. B. GNU date
). Auf den meisten Systemen (einschließlich Solaris date
) können Sie mit der Syntax wie date -d "1970-01-01 + 1451214849 sec"
Glück haben. Beachten Sie, dass Busybox date
nur den @
Trick unterstützt, aber keine komplexen Ausdrücke des zweiten Beispiels.
Unterstützung für% H wurde in Version [3.9.0] (https://github.com/logrotate/logrotate/blob/master/CHANGES) hinzugefügt. –
Danke Ivan, guter Punkt; Ich habe meine Antwort bearbeitet. –