Anzahl der verfügbaren Archive in der Syslog-Rotation begrenzen

Anzahl der verfügbaren Archive in der Syslog-Rotation begrenzen

Ich habe die folgende Konfiguration für meine /etc/logrotate.d/rsyslogDatei. Darin habe ich die Anzahl der Tage, an denen sie rotiert, explizit auf 4 und die Größe der Rotationsarchivdatei auf 100 KB festgelegt /var/log/syslog.

Ich möchte wissen, ob das Archiv sich selbst rotieren soll, wenn es 100 KB erreicht. Rotiert es bei Bedarf insgesamt bis zu 4 Mal pro Tag? Wenn es 4 Mal rotieren muss, weil es kontinuierlich 100 KB erreicht, wird es dies tun und nur 4 Dateien enthalten? Vielleicht kann ich meine Frage nicht vollständig erklären, aber das Ziel, das ich anstrebe, ist, dass sich die rotierte Archivdatei, sobald sie 100 KB erreicht, selbst rotieren soll und die Gesamtzahl der Rotationen 4 Dateien nicht überschreiten sollte.Wenn also 8 Rotationen innerhalb einer Stunde erforderlich sind, sollten nur die letzten 4 rotierten Archive vorhanden sein.I do see a daily configuration, not sure if that is complemented with the rotate configuration?

Was muss ich tun, wenn ich eine maximale Anzahl von Archivdateien festlegen muss, die Tagesrotationskonfiguration dies jedoch nicht unterstützt?

/var/log/syslog
{
        rotate 4
        size 100k
        daily
        missingok
        notifempty
        delaycompress
        compress
        postrotate
          invoke-rc.d rsyslog rotate >/dev/null
        endscript
}

/var/log/mail.info
/var/log/mail.warn
/var/log/mail.err
/var/log/mail.log
/var/log/daemon.log
/var/log/kern.log
/var/log/auth.log
/var/log/user.log
/var/log/lpr.log
/var/log/cron.log
/var/log/rsyslog.log
/var/log/debug
/var/log/messages
{
        rotate 4
        weekly
        missingok
        notifempty
        compress
        delaycompress
        sharedscripts
        postrotate
          invoke-rc.d rsyslog rotate >/dev/null
        endscript
}

Ich habe auch dies syslog configuration, das die Syslog-Dateigröße auf 1 MB begrenzt. Wenn Syslog also 1 MB erreicht, sollte es sich selbst rotieren (noch nicht getestet)

auth,authpriv.*    -/var/log/auth.log
$outchannel mysyslog,/var/log/syslog,1048576
*.*;auth,authpriv.none  :omfile:$mysyslog

Antwort1

logrotate löst keine Rotation aus, wenn eine Datei die Größe 100 KB erreicht. Es funktioniert nach geplanten Prüfungen.

Erklären Sie, wie der erste Abschnitt Ihrer Konfiguration funktionieren würde. Führen Sie täglich eine Überprüfung von /var/log/syslog durch. Wenn es größer als 100 KB ist, rotieren Sie es. Wenn 4 Kopien vorhanden sind, entfernen Sie die älteste.

Sie können in der Konfigurationsdatei „täglich“ in „stündlich“ ändern. Anschließend cp /etc/cron.daily/logrotate /etc/cron.hourly/logrotate verwenden, falls es dort noch nicht vorhanden ist.

verwandte Informationen