Ich habe logrotate nie intensiv benutzt, nur 1, 2 mal näher angeschaut und systemd ist neuer und wird logrotate wahrscheinlich verdrängen, ist aber m.E. auch etwas komplizierter.
Von man logrotate
:
| logrotate is designed to ease administration of systems that generate large numbers of log files. It allows
automatic rotation, compression, removal, and mailing of log files. Each log file may be handled daily,
weekly, monthly, or when it grows too large.
|
Generell werden logs oft so organisiert, dass das aktuelle log xy.log heißt, und in täglichem Turnus umbenannt wird, nach einem Tag in xy.log.1 und dann xy.log.2 bis xy.log.MAX und MAX kann 3, 5, 7 oder etwas beliebiges anderes sein. 2 und die folgenden werden häufig gezippt, und da Logs oft - v.a. wenn sie groß werden - sehr redundant sind lassen sie sich stark komprimieren und sind dann auf der Platte gar nicht so groß - Faktor 1/10 ist keine Seltenheit.
Den aktuellen Log ständig zu komprimieren wäre aber ineffizient und den von gestern hält man wohl für schnelleren Zugriff aus traditionellen Gründen unkomprimiert vor, da der häufiger noch gelesen wird (mit zless, zgrep u.dgl. aber für menschliche Reaktionszeiten unmerklich langsamer als less, grep und cat).
Mit man logrotate.conf
erfährst Du, wie Du es konfigurierst und womögl., ob es für Dich geeignet ist. Vorteil: Du lernst ein universell eingesetztes Systemtool, das wahrscheinlich ordentlich getestet und gewartet ist - Nachteil: Du musst die Logik eines anderen lernen, statt Deine eigene umzusetzen.
Parallelen und Unterschiede zu journalctl kann ich leider nicht referieren und weiß nur vage, dass journalctl die Daten wohl in einem Binärformat speichert.