Cakera 100% penuh lebih teruk daripada yang disangka: pangkalan data menolak penulisan, laman melontar ralat 500, malah log berhenti merekod — membuatkan anda buta. Berikut prosedur standard dari mengesan hingga membersih.

Langkah 1: nilai secara keseluruhan

Jalankan df -h untuk melihat penggunaan setiap partition dan sahkan sama ada partition akar atau titik lekap tertentu yang penuh. Jika inode habis (df -i menunjukkan 100%) sedangkan ruang masih ada, anda ada masalah fail kecil yang banyak — pendekatan sama, tetapi buru direktori dengan bilangan fail besar.

Langkah 2: kesan direktori besar

Gali dari akar: du -h --max-depth=1 / 2>/dev/null | sort -rh | head. Masuk direktori terbesar dan ulang — dua tiga pusingan menemui puncanya.

Lima suspek biasa

  • Log: log berputar di bawah /var/log dan log yang ditulis aplikasi anda. Kecilkan jurnal sistem dengan journalctl --vacuum-size=200M dan konfigurasikan logrotate untuk log aplikasi;
  • Docker: imej tergantung dan cache binaan memakan ruang besar — periksa dengan docker system df, bersihkan dengan docker system prune (pastikan tiada yang sedang diguna terpadam);
  • Sandaran lama: skrip sandaran yang hanya menambah tanpa memadam memenuhi cakera dalam beberapa bulan — tambah polisi pengekalan;
  • Cache pakej: apt clean membebaskan cache muat turun;
  • Fail dipadam tetapi masih terbuka: ruang tidak dibebaskan selagi proses memegang fail yang dipadam — cari dengan lsof | grep deleted dan mulakan semula proses itu.

Dua peraturan besi semasa membersih

Pertama, lihat sebelum padam: sahkan kegunaan fail — jangan sesekali rm direktori pangkalan data atau log yang sedang ditulis. Kedua, potong fail besar yang aktif dan bukannya memadam: mengosongkan log aktif dengan truncate -s 0 lebih selamat daripada membuangnya. Selepas itu, tetapkan amaran penggunaan cakera (amaran melebihi 80%) supaya insiden seterusnya tidak mencapai 100%.