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/syslog
atingir 1G
o 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 GB
ele 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 * 1024
ou 1073741824 bytes.