Apakah kamu pernah melihat ukuran log yang terlalu besar? Dalam kasus ini kita menemukan problem ketika ingin melihat log di path /var/log/messages
karena file nya terlalu besar hingga 10Gb lebih.
root@xxx # ls -la | grep messages
-rw-------. 1 root root 12421543891 Jan 26 08:35 messages
Kalo sudah begini, kita mau buka pake perintah nano
atau vim
, akan terasa berat dan lama sekali. Kita jg bisa manfaatkan perintah tail
, tetapi itu cuma sebatas melihat halaman terakhir saja.
Lalu Solusinya gimana dong?
Method #1 : set manual logrotate
- Membuat file kosong rsyslog pada direktori /etc/logrotate.d/
vim /etc/logrotate.d/rsyslog
- Isi dengan berikut ini :
/var/log/cron
/var/log/maillog
/var/log/messages
/var/log/secure
/var/log/spooler
{
missingok
sharedscripts
postrotate
/usr/bin/systemctl -s HUP kill rsyslog.service >/dev/null 2>&1 || true
endscript
}
- Memaksa perubahan logrotate dan jalankan.
logrotate -f /etc/logrotate.conf
- Dan sekarang terlihat log sudah ter-rotate otomatis.
[root@xxx logrotate.d]# ls -lh /var/log/messages*
-rw------- 1 root root 49K Jan 26 08:16 /var/log/messages
-rw-------. 1 root root 28G Jan 26 08:15 /var/log/messages-20250126
- Untuk log awal yang besar mencapai 28G, memang tidak akan ter kompres, tetapi kedepan, logrotate sudah berjalan dan tidak akan menimbun file hingga sebesar itu lagi. So, kamu bisa remove log besar tersebut.
- Jika kamu memiliki file log selain path diatas, bisa disesuaikan sendiri ya
- Secara default log akan rotate setiap minggu. configuration bisa di cek di:
/etc/logrotate.conf
Method #2 : install logrotate
Kamu hanya perlu install rsyslog-logrotate
yum install rsyslog-logrotate
Hal tersebut sama cara no #1, tetapi ini sudah kita installkan dan otomatis sudah terpasang.
Kesimpulan
Jangan biarkan log kamu menumpuk sampe ber giga giga. Hasilnya malah kamu kesulian untuk melihat isinya. Manfaatkan fitur dari logrotate, sehingga log kamu akan ter-organisasi dengan baik. Sekian tutorial singkat kami, semoga bermanfaat sob!
sumber: https://linux.die.net/man/8/logrotate