Cara Install & Setup Logrotate di Linux untuk Pemula
Daftar Isi (Klik untuk melihat)
- Apa Itu Logrotate dan Mengapa Penting?
- Cara Install Logrotate di Linux
- Instalasi di Alpine Linux
- Instalasi di Debian/Ubuntu
- Memahami Konfigurasi Global Logrotate
- Membuat Rule File untuk Aplikasi Spesifik
- Contoh Rule File untuk Script Otomatis
- Tabel Referensi Opsi Logrotate Umum
- Tips Tambahan dan Praktik Terbaik
- Kesimpulan
Dalam dunia IT, file log adalah penyelamat saat sesuatu berjalan tidak sesuai rencana. Ketika sistem mengalami error, log akan memberi tahu penyebabnya. Ketika ada upaya peretasan, log menunjukkan tanda-tandanya. Namun, ada satu masalah klasik yang sering diabaikan: file log yang terus membesar hingga akhirnya menghabiskan seluruh ruang disk dan membuat server crash. Di sinilah logrotate di Linux berperan penting. Alat bawaan ini secara otomatis memutar, mengompresi, dan menghapus file log lama sehingga server Anda tetap stabil tanpa intervensi manual.
Berdasarkan pengalaman saya mengelola berbagai server — mulai dari Alpine hingga Debian — logrotate adalah salah satu utilitas pertama yang saya pastikan terpasang dan terkonfigurasi dengan benar. Tanpa itu, dalam hitungan bulan saja, partisi /var/log bisa penuh dan menyebabkan downtime yang seharusnya bisa dicegah.
Apa Itu Logrotate dan Mengapa Penting?
Logrotate adalah utilitas sistem di Linux yang dirancang khusus untuk mengelola rotasi file log secara otomatis. Alih-alih membiarkan satu file log tumbuh tanpa batas, logrotate akan:
Memutar (rotate) file log secara berkala — harian, mingguan, atau bulanan.
BACA JUGA: Cara Pakai eSIM di Android Tanpa Kartu FisikMengompresi file log lama untuk menghemat ruang disk.
Menghapus file log yang sudah melewati batas jumlah penyimpanan.
Membuat file log baru yang kosong agar aplikasi bisa terus menulis log.
Menurut dokumentasi resmi di manpages.debian.org, logrotate sangat fleksibel dan dapat dikonfigurasi secara berbeda untuk setiap aplikasi atau layanan. Ini menjadikannya alat wajib bagi setiap system administrator.
Cara Install Logrotate di Linux
Proses instalasi logrotate cukup sederhana, meskipun langkahnya sedikit berbeda tergantung distribusi Linux yang Anda gunakan. Berikut panduan untuk dua distribusi populer:
Instalasi di Alpine Linux
apk add logrotateInstalasi di Debian/Ubuntu
apt-get install logrotateSebagai catatan penting: logrotate sangat bergantung pada cron untuk menjalankan tugas rotasi secara otomatis. Pastikan cron sudah terpasang di sistem Anda. Pada instalasi minimal, cron mungkin tidak disertakan dan tidak ditarik sebagai dependensi. Di Alpine, Anda akan mendapatkan crond melalui paket busybox.
Kabar baiknya, proses instalasi logrotate sudah menyertakan banyak konfigurasi otomatis, sehingga Anda tidak perlu memulai dari nol.
Memahami Konfigurasi Global Logrotate
Setelah instalasi, langkah pertama adalah memeriksa file konfigurasi global yang terletak di /etc/logrotate.conf. Berikut contoh konfigurasi default dari Alpine Linux:
# rotate log files weekly
weekly
# keep 4 weeks worth of backlogs
rotate 4
# create new (empty) log files after rotating old ones
create
# use date as a suffix of the rotated file
dateext
# uncomment to compress log files
# compress
# packages drop log rotation information into this directory
include /etc/logrotate.dPenjelasan pengaturan di atas:
weekly — Log diputar setiap minggu.
rotate 4 — Menyimpan 4 file cadangan sebelum file terlama dihapus.
create — Membuat file log baru yang kosong setelah rotasi.
dateext — Menambahkan tanggal sebagai ekstensi file yang diputar (misalnya
syslog.20240101).compress — Mengompresi file log lama (di Debian, opsi ini biasanya dikomentari secara default).
Perlu dicatat bahwa pengaturan default ini mungkin tidak selalu diterapkan sepenuhnya. Misalnya, dalam pengalaman saya di Alpine, meskipun dateext aktif di konfigurasi global, beberapa rule file tetap menggunakan nomor urut alih-alih tanggal. Ini terjadi karena pengaturan spesifik di rule file bisa override pengaturan global.
Membuat Rule File untuk Aplikasi Spesifik
File konfigurasi global saja tidak cukup. Di bagian akhir /etc/logrotate.conf, terdapat baris include /etc/logrotate.d yang memberitahu logrotate untuk membaca rule file tambahan dari direktori tersebut. Di sinilah Anda mendefinisikan file log mana yang akan diputar dan bagaimana cara memutarnya.
Saat Anda menginstal paket software baru, biasanya rule file otomatis dibuat di /etc/logrotate.d/. Namun, jika Anda membuat aplikasi atau script sendiri, Anda perlu membuat rule file secara manual.
Contoh Rule File untuk Script Otomatis
Misalnya Anda memiliki script update sistem yang menyimpan log di /var/log/apk-upgrade.log. Buat file /etc/logrotate.d/apk-upgrade dengan isi:
/var/log/apk-upgrade.log {
daily
rotate 7
compress
delaycompress
missingok
notifempty
create 0644 root root
}Penjelasan setiap direktif:
/var/log/apk-upgrade.log — Path file log yang akan diputar.
daily — Rotasi dilakukan setiap hari.
rotate 7 — Simpan 7 file cadangan sebelum dihapus.
compress — Kompresi file log lama.
delaycompress — Jangan kompres file log yang baru saja diputar (memudahkan inspeksi log hari sebelumnya).
missingok — Jika file log tidak ditemukan, lanjutkan tanpa error.
notifempty — Jangan putar file log yang kosong.
create 0644 root root — Buat file baru dengan izin akses yang ditentukan.
Anda juga bisa menggunakan wildcard jika ingin menerapkan aturan yang sama ke beberapa file log, misalnya /var/log/myapp/*.log.
Tabel Referensi Opsi Logrotate Umum
| Opsi | Fungsi |
|---|---|
| daily / weekly / monthly | Frekuensi rotasi |
| rotate N | Jumlah file cadangan sebelum dihapus |
| compress | Kompresi file log lama (gzip) |
| delaycompress | Tunda kompresi satu siklus |
| missingok | Abaikan jika file tidak ada |
| notifempty | Jangan rotasi jika file kosong |
| create mode owner group | Buat file baru dengan izin tertentu |
| dateext | Tambahkan tanggal sebagai ekstensi |
| postrotate / prerotate | Jalankan perintah setelah/sebelum rotasi |
Tips Tambahan dan Praktik Terbaik
Berikut beberapa tips berdasarkan pengalaman langsung yang saya terapkan di lingkungan produksi:
Uji konfigurasi sebelum produksi — Jalankan
logrotate -d /etc/logrotate.confuntuk mode debug. Perintah ini akan mensimulasikan rotasi tanpa benar-benar melakukannya, sehingga Anda bisa memverifikasi konfigurasi.Monitor penggunaan disk — Gunakan perintah
du -sh /var/logsecara berkala untuk memastikan file log tidak membengkak.Pisahkan rule file per aplikasi — Hindari mencampur semua aturan dalam satu file. Ini membuat manajemen lebih rapi dan mudah di-debug.
Gunakan postrotate — Jika aplikasi Anda menulis log ke file tertentu dan perlu di-restart setelah rotasi, gunakan blok
postrotateuntuk menjalankan perintah restart.
Untuk dokumentasi lengkap mengenai semua opsi yang tersedia, Anda bisa mengunjungi halaman manual resmi di linux.die.net/man/8/logrotate.
Kesimpulan
Logrotate adalah utilitas sederhana namun sangat vital dalam pengelolaan server Linux. Dengan menginstal dan mengkonfigurasinya dengan benar, Anda bisa mencegah masalah disk space yang seharusnya bisa dihindari. Mulailah dari konfigurasi global, lalu sesuaikan rule file untuk setiap aplikasi yang menghasilkan log. Jangan lupa untuk selalu menguji konfigurasi Anda menggunakan mode debug sebelum diterapkan di lingkungan produksi. Dengan pendekatan yang terstruktur, rotasi log akan berjalan otomatis dan Anda bisa fokus pada hal lain yang lebih produktif.