La rotazione dei log non è un'impostazione valida per tutto il server. Ogni servizio porta la propria regola, perciò tutto quello che è stato installato a mano — o configurato per scrivere in un posto insolito — non ne ha affatto e cresce finché il disco non è pieno.

Trova quello che sta crescendo

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

Ruotalo

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

Quattordici giorni compressi sono una buona impostazione predefinita: abbastanza per indagare sulla settimana scorsa, abbastanza poco da dimenticarsene.

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

Un log che si riempie in poche ore

Quello non è un problema di rotazione. Un solo avviso che si ripete a ogni richiesta scrive gigabyte in un giorno, e ruotarlo non fa che cancellare le prove più in fretta.

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

La prima riga è quasi sempre l'intero problema: un file mancante richiesto un milione di volte, oppure un avviso PHP su ogni pagina.

Liberare spazio cancellando un log su cui un servizio sta scrivendo non restituisce lo spazio: il processo tiene ancora il descrittore aperto. Troncalo: : > /var/log/big.log
Per tutto ciò che può impennarsi, ruota per dimensione oltre che per giorno: size 100M accanto a daily acchiappa uno sbandato prima che ci pensi il disco.