Kayıt döndürme, sunucunun tamamını kapsayan bir ayar değildir. Her hizmet kendi kuralıyla gelir; elle kurulmuş ya da alışılmadık bir yere yazacak biçimde ayarlanmış olan her şeyin ise hiç döndürmesi yoktur ve disk dolana kadar büyür.

Büyüyeni bulun

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

Onu döndürün

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

Sıkıştırılmış on dört gün iyi bir varsayılandır: geçen haftayı soruşturmaya yetecek kadar uzun, unutulacak kadar küçük.

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

Saatler içinde dolan bir kayıt

Bu bir döndürme sorunu değildir. Her istekte yinelenen tek bir uyarı, bir günde gigabaytlar yazar; onu döndürmek ise yalnızca kanıtı daha hızlı silmek olur.

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

En üstteki satır neredeyse her zaman sorunun tamamıdır: bir milyon kez istenmiş eksik bir dosya, ya da her sayfada beliren tek bir PHP uyarısı.

Bir hizmetin yazmakta olduğu bir kaydı silerek yer açmak, yeri geri getirmez — süreç dosya tutamacını elinde tutar. Onu kesin: : > /var/log/big.log
Sıçrayabilecek her şey için güne göre olduğu kadar boyuta göre de döndürün: daily yanındaki size 100M, kaçağı diskten önce yakalar.