Menghapus error log dan access log otomatis terjadwal

Pada panduan ini akan memanfatkan fungsi software ulititas cron. Seperti biasa selalu diawali dengan melakukan koneksi via SSH ssh root@host atau penguna Windows dapat memakai Putty.

Membuat script bash

Script ini nantinya akan dijalankan oleh cron, mungkin bisa disebut script hapus.sh

nano hapus.sh

Paste kode berikut ke dalam file hapus.sh tersebut.

#!/bin/bash
echo > /var/log/nginx/error_log
echo > /var/log/nginx/access_log

Simpan dan keluar dari nano text editor, Ctrl+O > Enter > Ctrl+X

Keterangan:

var/log/nginx/access_log adalah contoh dimana lokasi log file berada (kebetulan saya memakai nginx web server), jadi silahkan diadaptasikan.

CHMOD

Agar bisa dieksekusi oleh crontab

chmod +x hapus.sh

Install cronjob

crontab -e

Tambahkan ke baris paling bawah kode berikut

0 * * * * /root/hapus.sh

Keterangan: script hapus.sh akan dijalankan setiap jam, artinya semua konten yang ada di file logging (error_log dan access_log) akan dihapus – lihat baris:echo > /var/log/nginx/error_log

Selesai.

 

Sedikit penjelasan.

Error log sejatinya penting untuk pengembang aplikasi dan admin server, karena disana semua tercatat informasi penting mengenai kesalahan-kesalahan dalam kode maupun galat lain terkait aplikasi atau software yang digunakan.

Sedangkan access log mencatat semua pengunjung/siapapun (termasuk robot crawler) yang mengakses website atau IP VPS kita. Access log juga penting untuk mengetahui perilaku visitor/pengakses website, dimana didalam access log tercatat begitu spesifik dimana, kapan dan jenis peramban yang digunakan.

Tapi dalam kasus tertentu, kadang error_log dan access_log begitu menjengkelkan karena bisa jadi dalam jam saja ukuran filenya bisa membengkak menjadi bermega-mega byte. Dalam hal ini tentu kurang baik dan lambat laun akan membuat kapasitas hardisk penuh.

Web server nginx (Engine-X) dan Apache, error dan access log (logging) bisa dikontrol atau bahkan dinon-aktifkan. Tapi jika dinon-aktifkan tentu kita tidak akan tahu penyebab terjadinya error dalam sistem/aplikasi. Bagi website yang mempunyai trafik tinggi untuk access_log mungkin memang perlu dinon-aktifkan atau dibatasi. Berikut contoh konfigurasi logging di Apache dan Nginx

Konfigurasi Nginx

Disable error_log

error_log /dev/null crit;

Membatasi/level error_log

error_log /var/log/nginx/error.log crit;

crit, hanya mencatat pemasalahan critical

Disable access_log

access_log off;

Konfigurasi Apache

Disable logging

Beri komen pada baris berikut

# CustomLog logs/access_log common
# ErrorLog logs/error_log

atau atur LogLevel

# CustomLog logs/access_log common
ErrorLog logs/error_log
LogLevel crit

 

Selamat mencoba.

No ratings yet.

Please rate this

Related Posts

Leave a Reply

Your email address will not be published. Required fields are marked *