Ротация не выполняется, когда размер файла достигает определенного порога

У меня следующие настройки в /etc/logrotate.d/rsyslog:

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

Насколько я понимаю, я настроил его так, что если /var/log/syslog достигнет 1G в размере, он будет ротироваться сам. Кроме того, система выдержит 7 ротаций.

При тестировании я сделал так:

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

Затем я сделал так:

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

Он показывает размер файла как 1.000000728 GB, разве он не должен был ротироваться сам?

При применении конфигураций я сделал systemctl restart rsyslog

0
задан 28 July 2021 в 19:19
1 ответ

Logrotate использует традиционные единицы, а не единицы СИ для K, M, G и т. д. Это буквально означает цитату из исходного кода: 1024 * 1024 * 1024, или 1073741824 байт.

0
ответ дан 28 July 2021 в 19:26

Теги

Похожие вопросы