====== Logrotate, Apa itu ? ====== Logrotate adalah sistem manajemen yang otomatis merotasi dan mengkompressi file log kemudian menyimpan backupnya dengan nama lain. Mengapa file log harus di rotasi? Jika file log tidak di rotasi dan dikompress, maka file tersebut dapat menghabiskan hardisk. Logrotate biasanya sudah terinstall otomatis di sistem linux dan anda tinggal melakukan konfigurasinya saja. Kami menggunakan sistem operasi Centos dan untuk melihat versi logrotate bisa dengan menjalankan perintah berikut ini logrotate -v ===== Default Setting ===== Adapun nilai default kita bisa melihatnya di **/etc/logrotate.conf** cat /etc/logrotate.conf dan keluar # see "man logrotate" for details # 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 this if you want your log files compressed #compress # RPM packages drop log rotation information into this directory include /etc/logrotate.d # no packages own wtmp and btmp -- we'll rotate them here /var/log/wtmp { monthly create 0664 root utmp minsize 1M rotate 1 } /var/log/btmp { missingok monthly create 0600 root utmp rotate 1 } ===== Contoh 1 ===== Kita ambil contoh dari syslog cat /etc/logrotate.d/syslog keluar /var/log/cron /var/log/maillog /var/log/messages /var/log/secure /var/log/spooler { sharedscripts postrotate /bin/kill -HUP `cat /var/run/syslogd.pid 2> /dev/null` 2> /dev/null || true endscript } syslog akan merotasi file **cron,maillog,messages,secure dan spooler** mengikuti setting default yaitu weekly, rotate 4 dst ===== Contoh 2 ===== /var/log/apt/history.log { rotate 12 monthly compress missingok notifempty } **rotate** akan menyimpan backup sebanyak 12 file **monthly** akan dirotasi setiap sebulan sekali, variable lainya **daily**, **weekly** **compress** file akan dikompresi **missingok** tidak menampilkan error meskinpun file log, dalam hal ini sesuai contoh yaitu history.log tidak ada **notifempty** tidak akan dirotasi jika file log kosong ===== Contoh 3 ===== /var/log/dir/*.log { daily missingok rotate 14 compress notifempty create 0640 apache apache sharedscripts postrotate systemctl reload httpd endscript } Merotasi semua file *.log yang terdapat didalam folder **/var/log/dir/** \\ **create 0640 apache apache** otomatis menciptakan file log kosong dengan owner adalah **apache** dan group **apache** \\ **sharedscripts** akan menjalankan script **systemctl reload example-app** sekali saja meskipun file log yang dirotasi lebih dari satu (*.log) \\ **postrotate to endscript** adalah script yang akan dijalankan setelah rotasi selesai \\