Panduan praktis mengatasi disk space 100% full akibat log di Linux dan Proxmox VE secara aman menggunakan CLI tanpa perlu reboot server....
Pernahkah Anda mendapati server Linux atau klaster Proxmox VE Anda tiba-tiba hang, layanan API-nya tidak merespons, atau bahkan tidak bisa login via SSH? Saat dicek, ternyata masalahnya klasik tapi fatal: Disk Space 100% Full.

Bagi seorang system administrator, kepanikan sering kali muncul ketika disk penuh di malam hari, sementara server sedang menjalankan workload produksi yang tidak boleh mengalami downtime. Melakukan reboot server secara paksa bukanlah solusi bijak, karena bisa menyebabkan korupsi data pada database atau kontainer yang sedang berjalan.
Penyebab paling umum dari masalah ini adalah pembengkakan file log sistem (/var/log) yang tidak berputar (rotate) dengan benar, atau adanya error ekstrim yang terus-menerus ditulis ke dalam log dalam waktu singkat.
Tenang, jangan panik! Dalam panduan ini, kita akan membahas cara mendeteksi, membersihkan, dan mengotomatisasikan pembersihan file log yang membengkak di Linux/Proxmox secara aman tanpa perlu melakukan reboot.
Langkah 1: Deteksi Direktori yang Memakan Ruang Paling Besar
Sebelum menghapus file secara membabi buta, kita harus tahu persis di mana letak "pelaku utama" yang menghabiskan ruang penyimpanan server Anda.
1. Cek Penggunaan Disk Secara Umum
Buka terminal SSH Anda, lalu jalankan perintah berikut untuk melihat presentasi penggunaan disk:
df -h
Perhatikan baris yang menunjukkan penggunaan 100% atau mendekati, biasanya pada mount point / (root).
2. Gunakan Perintah du untuk Melacak Folder Terbesar
Masuk ke direktori root dan lacak folder mana yang paling rakus memori dengan perintah:
sudo du -sh /* 2>/dev/null | sort -h
Tips: Perintah di atas akan mengurutkan folder dari yang terkecil hingga terbesar.
3. Fokus pada Direktori Log
Biasanya, jika masalahnya adalah log, folder /var akan menjadi yang paling besar. Mari kita mengerucut ke dalam folder /var/log:
cd /var/log
du -sh * | sort -h
Di sini Anda akan melihat file spesifik seperti syslog, daemon.log, atau log dari Proxmox (pve/tasks/) yang ukurannya mungkin sudah mencapai puluhan Gigabyte (GB).
Langkah 2: Cara Aman Membersihkan Log Tanpa Merusak Sistem
rm -rf namafile.log jika layanannya masih berjalan! Di Linux, jika Anda menghapus file log yang sedang dibuka/ditulis oleh suatu service (misal: Apache, Nginx, atau rsyslog) dengan perintah rm, ruang disk tidak akan langsung terbebaskan karena sistem menganggap file tersebut masih dikunci oleh proses yang aktif.
Cara 1: Mengosongkan File dengan truncate (Sangat Direkomendasikan)
Cara terbaik dan paling aman adalah memperkecil ukuran file tersebut menjadi 0 byte tanpa menghapus filenya. Jalankan perintah berikut:
sudo truncate -s 0 /var/log/syslog
atau jika file log lainnya yang membengkak:
sudo truncate -s 0 /var/log/daemon.log
Perintah -s 0 berarti kita memaksa ukuran file menjadi nol seketika. Layanan sistem tetap bisa menulis log baru ke file tersebut tanpa gangguan dan ruang disk Anda akan langsung kembali lega!
Cara 2: Menggunakan Teknik Pengosongan Teks (Alternatif)
Jika perintah truncate tidak tersedia di distro Anda, Anda bisa menggunakan shortcut output redirection berikut:
> /var/log/syslog
Cara 3: Menghapus File Log Lama yang Sudah Terkompresi (.gz)
Jika di dalam folder /var/log terdapat file-file lama berakhiran .gz (seperti syslog.2.gz, auth.log.3.gz), file-file ini adalah history lama dan aman untuk dihapus langsung menggunakan perintah rm:
sudo rm /var/log/*.gz
Langkah 3: Tips Otomatisasi Menggunakan Cron Job Agar Masalah Tidak Terulang
Pembersihan manual di atas adalah pertolongan pertama. Agar Anda bisa tidur nyenyak di malam-malam berikutnya tanpa khawatir server tumbang lagi karena disk full, kita harus mengotomatisasikannya.
Meskipun Linux sudah memiliki logrotate, terkadang konfigurasinya kurang agresif untuk server yang menghasilkan log sangat masif. Kita bisa membuat script pembersih darurat via cron.
- Buka konfigurasi crontab dengan perintah:
sudo crontab -e - Tambahkan baris berikut di bagian paling bawah untuk menjadwalkan pembersihan otomatis (misalnya setiap jam 1 malam):
0 1 * * * /usr/bin/find /var/log -name "*.gz" -type f -delete 0 1 * * * /usr/bin/truncate -s 0 /var/log/syslogPenjelasan:
- Baris pertama akan mencari file
.gz(log usang) di/var/logdan menghapusnya secara otomatis setiap jam 01:00 dini hari. - Baris kedua akan mengosongkan ukuran
syslogmenggunakantruncateagar kapasitasnya selalu terjaga tanpa mengganggu service.
- Baris pertama akan mencari file
- Simpan dan keluar dari editor crontab.
Kesimpulan
Mengatasi masalah disk full akibat log sebenarnya sangat mudah asalkan kita tahu alat dan perintah CLI yang tepat. Kuncinya adalah menggunakan truncate bukan rm pada file log yang sedang aktif agar Anda tidak perlu melakukan restart service apalagi reboot server.
Apakah server Proxmox atau Linux Anda saat ini sedang mengalami masalah space penuh? Coba ketik df -h sekarang dan bagikan pengalaman Anda atau kendala yang Anda temui di kolom komentar di bawah ini!
COMMENTS