A rotação não é executada quando o tamanho do arquivo atinge determinado limite

A rotação não é executada quando o tamanho do arquivo atinge determinado limite

Tenho as seguintes configurações em /etc/logrotate.d/rsyslog:

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

Pelo que entendi, configurei-o para que, se /var/log/syslogatingir 1Go tamanho, ele gire sozinho. Além disso, o sistema realizará 7 rotações.

Nos testes, fiz isso:

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

Então eu fiz isso:

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

Está mostrando o tamanho do arquivo, pois 1.000000728 GBele não deveria ter girado sozinho?

Ao aplicar as configurações, fizsystemctl restart rsyslog

Responder1

Logrotate usa unidades tradicionais em vez de unidades SI para K, M, G, etc. Isso significa literalmente, citando o código-fonte: 1024 * 1024 * 1024ou 1073741824 bytes.

informação relacionada