Log tumbuh selamanya kecuali ada yang memangkasnya. Cakram yang penuh menjatuhkan basis data, server web, dan cadangan sekaligus, dan ia salah satu sebab paling lazim dari padam yang tak terjelaskan — lihat Log yang memenuhi cakram.

Satu aturan untuk aplikasi Anda sendiri

# /etc/logrotate.d/site
/var/www/site/storage/logs/*.log {
    daily
    rotate 14
    size 100M
    compress
    delaycompress
    missingok
    notifempty
    create 0640 www-data www-data
    sharedscripts
    postrotate
        systemctl reload php8.3-fpm > /dev/null 2>&1 || true
    endscript
}

Tanda yang menentukan apakah ia bekerja

Proses yang menahan sebuah berkas log tetap terbuka akan terus menulis ke berkas yang SUDAH DIPUTAR itu. Cakramnya penuh persis seperti sebelumnya, sementara log yang sekarang tetap kosong dan semuanya kelihatan baik-baik saja. Muat ulang layanannya di postrotate seperti di atas, atau pakailah copytruncate.
copytruncate     # copy the file, then empty the original in place
                 # simpler, and loses the few lines written during the copy

Ujilah tanpa menunggu sehari

sudo logrotate -d /etc/logrotate.d/site      # dry run, prints what it would do
sudo logrotate -f /etc/logrotate.d/site      # force it now
ls -la /var/www/site/storage/logs/

Jurnalnya berputar sendiri

journalctl --disk-usage
sudo journalctl --vacuum-size=500M

systemd menyimpan lognya sendiri di bawah batasnya sendiri — lihat Membaca jurnal sistem.

Dan awasi cakramnya

df -h
sudo du -xh /var/log /var/www --max-depth=2 2>/dev/null | sort -h | tail -15
Berilah peringatan pada 80%, bukan pada 95%. Di antara kedua angka itu masih ada waktu untuk bertindak; sesudah 95%, satu log besar bisa menutup sisanya dalam hitungan menit.