Die Rotation wird nicht ausgeführt, wenn die Dateigröße einen bestimmten Schwellenwert erreicht

Die Rotation wird nicht ausgeführt, wenn die Dateigröße einen bestimmten Schwellenwert erreicht

Ich habe folgende Konfigurationen drin /etc/logrotate.d/rsyslog:

/var/log/syslog
{
        rotate 7
        size 1G
        missingok
        notifempty
        delaycompress
        compress
        postrotate
          invoke-rc.d rsyslog rotate >/dev/null
        endscript
}

So wie ich es verstehe, habe ich es so eingerichtet, dass es sich selbst dreht, wenn es die gewünschte Größe /var/log/syslogerreicht 1G. Außerdem hält das System 7 Rotationen durch.

Beim Testen habe ich Folgendes gemacht:

cat /dev/null > /var/log/syslog
base64 /dev/urandom | head -c 999999999 > /var/log/syslog
logger -s "hello"

Dann habe ich Folgendes gemacht:

ls -las /var/log/syslog*
976568 -rw-r----- 1 syslog adm 1000000072 Jul 28 19:11 /var/log/syslog

Es wird die Dateigröße angezeigt, denn 1.000000728 GBhätte es sich nicht selbst drehen sollen?

Beim Anwenden der Konfigurationen habe ichsystemctl restart rsyslog

Antwort1

Logrotate verwendet für K, M, G usw. traditionelle Einheiten statt SI-Einheiten. Wörtlich bedeutet dies, um aus dem Quellcode zu zitieren: 1024 * 1024 * 1024oder 1073741824 Bytes.

verwandte Informationen