4 menit
Ketika kamu menggunakan Linux dalam jangka waktu lama, mungkin kamu akan menemukan banyak penggunaan disk space didalam folder /var/log/. Tapi, jika kamu berencana untuk membersihkan log linux dengan cara menghapus semua konten yang ada didalam /var/log/, mungkin kamu justru mengalami permasalahan baru.
Karena, meski berisi log, beberapa sistem memerlukan file log tersebut tetap ada didalam folder log meski tanpa ada isinya dan ketika folder atau file log tidak ditemukan, maka bisa sistem yang kamu gunakan justru error.
Cara Membersihkan Log Linux
Untuk melakukan pembersihan ini, kamu bisa menggunakan dua cara yang berbeda, dimana cara mudahnya adalah mengosongkan semua konten (misalnya pada file system.log ada 100 baris, maka file tetap disimpan dan konten 100 baris didalamnya dikosongkan atau dihapus), atau bisa juga menggunakan logrotate.
Sebelum memulai, cara ini mungkin agak beresiko, jadi pastikan untuk mencobanya dulu di dummy server atau development server, dan pastikan untuk membuat backup data-data penting di server.
Membersihkan File Tanpa Menghapus
Mari gunakan cara yang mudah dulu. Namun sebelum memulai, kamu dapat memeriksa jumlah penggunaan disk space pada folder /var/log dulu
1. Periksa Penggunaan Disk Space Log
du -h /var/log --max-depth=1 | sort -rh
Misalnya disini penggunaan disk space pada folder log mencapai 1008M atau sekitar 1GB
2. Jalankan Pembersihan
Sekarang, jika kamu sudah membuat backup, maka kamu bisa menjalankan pembersihan pada folder /var/log
for CLEAN in $(find /var/log/ -type f)
do
cp /dev/null $CLEAN
done
Untuk pembersihan di folder lain, maka kamu bsia mengubah /var/log/ sesuai dengan folder log yang akan kamu bersihkan
3. Periksa Kembali Folder Log
Terakhir, kamu bisa memeriksa kembali penggunaan disk space didalam folder /var/log dan pastikan ukurannya sudah berkurang
du -h /var/log --max-depth=1 | sort -rh
Misalnya dalam contoh ini, penggunaan disk space berkurang dari 1008M menjadi 17M atau turun sekitar 98.31%.
Mengelola Log Dengan logrotate
Cara ini bisa dibilang lebih rumit dan mungkin kamu perlu membuat konfigurasi manual dari banyak file yang ada, namun nantinya ketika sudah selesai konfigurasi, maka logrotate akan berjalan secara otomatis memutar (rotate), mengompres (compress), dan menghapus (delete) file log lama sehingga mengurangi penggunaan disk space.
1. Periksa Versi logrotate
Pastikan bahwa logrotate sudah terinstall di server yang kamu gunakan
logrotate --version
2. Buat Konfigurasi logrotate
Jika sudah dipastikan terinstall, maka kamu bisa membuat konfigurasi logrotate, misalnya dengan nama konfigurasi wpglogrotate
sudo nano /etc/logrotate.d/wpglogrotate
Didalam file tersebut, tambahkan baris berikut sebagai contoh
/var/log/apt/history.log {
daily
rotate 7
compress
missingok
notifempty
create 0644 root root
postrotate
endscript
}
/var/log/apt/term.log {
daily
rotate 7
compress
missingok
notifempty
create 0640 root adm
postrotate
endscript
}
- /var/log/apt/history.log dan /var/log/apt/term.log: Menentukan jalur ke file log yang akan dirotasi.
- daily: Log akan dirotasi setiap hari. Opsi lain bisa kamu gunakan:
- weekly: Setiap minggu.
- monthly: Setiap bulan.
- yearly: Setiap tahun.
- size 10M: Rotasi ketika file log mencapai ukuran 10 Megabyte (atau k untuk kilobyte, G untuk gigabyte).
- rotate 7: Menyimpan 7 versi log yang dirotasi sebelum yang terlama dihapus.
- compress: Mengompres file log yang dirotasi menggunakan gzip (menambahkan ekstensi .gz).
- missingok: Jangan mengeluarkan pesan error jika file log tidak ada.
- notifempty: Jangan merotasi file log jika kosong.
- create 0640 root adm dan create 0644 root root: Membuat file log baru setelah rotasi dengan izin 0640 (rw-r—-), sesuaikan dengan izin, user, dan grup yang sudah ada pada file log.
- postrotate/endscript: Blok perintah yang akan dijalankan setelah rotasi log selesai.
3. Uji Coba Konfigurasi
Ketika sudah selesai menyimpan konfigurasi, kamu bisa mencobanya dulu
sudo logrotate -d /etc/logrotate.d/wpglogrotate
4, Jalankan Logrotate
Jika sudah tidak ada pesan error, maka kamu bisa menjalankan logrotate pertamamu dan selanjutnya logrotate akan berjalan otomatis sesuai cron yang ada didalam /etc/cron.daily/logrotate.
Kamu bisa menggunakan parameter -f untuk force atau memaksa logrotate berjalan
sudo logrotate -f /etc/logrotate.d/wpglogrotate
Itulah dua metode yang dapat kamu gunakan untuk membersihkan log linux. Jika kamu ingin cara yang mudah, maka kamu bisa menggunakan cara pertama dan jika ingin dijalankan secara otomatis, maka kamu bisa membuat cron job juga.
Terima kasih telah berkunjung ke WPGan.com dan membaca Cara Membersihkan Log Linux. Dapatkan saldo $100 di Vultr gratis untuk uji coba VPS dari [Halaman Ini]