La rotación de registros no es un ajuste de todo el servidor. Cada servicio trae su propia regla, así que cualquier cosa instalada a mano —o configurada para escribir en un sitio poco habitual— no tiene ninguna y crece hasta llenar el disco.

Encuentra el que está creciendo

du -h /var/log --max-depth=2 | sort -h | tail -15
ls -lhS /var/log/*.log | head

Rótalo

# /etc/logrotate.d/mysite
/var/www/site/storage/logs/*.log {
    daily
    rotate 14
    compress
    delaycompress
    missingok
    notifempty
    create 0640 www-data www-data
}

Catorce días comprimidos es un buen valor por defecto: bastante para investigar la semana pasada y poco bastante para olvidarse de él.

logrotate -d /etc/logrotate.d/mysite   # dry run, prints what it would do

Un registro que se llena en unas horas

Eso no es un problema de rotación. Un solo aviso repetido en cada petición escribe gigabytes en un día, y rotarlo solo borra las pruebas más deprisa.

sort /var/log/nginx/error.log | uniq -c | sort -rn | head -5

La primera línea es casi siempre el problema entero: un archivo que falta pedido un millón de veces, o un aviso de PHP en cada página.

Liberar espacio borrando un registro en el que un servicio está escribiendo no devuelve el espacio: el proceso conserva el descriptor. Trúncalo: : > /var/log/big.log
Rota por tamaño además de por día todo lo que pueda dispararse: size 100M junto a daily atrapa un desbocado antes de que lo haga el disco.