Menghapus error log dan access log otomatis terjadwal

By | June 4, 2018

Di panduan ini akan memanfatkan manfaat sistem aplikasi ulititas cron. Seperti lazim selalu diawali dengan menjalankan koneksi via SSH ssh root@host atau penguna Windows dapat memakai Putty.

Merancang script bash

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

nano hapus.sh

Paste kode berikut ke pada 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:

echo > : menghapus konten (petunjuk echo tanpa string (empty) diarahkan ke file)

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

Menghapus konten error log bagi multiple file

Misalnya jumlah file errornya lebih dari satu, VPS dengan control panel biasanya setiap domain mempunyai file error log sendiri-sendiri. Selaku contoh namanya yaitu idnetter.net.err, idnetter.com.err dan idnetter.id.err

echo -n | tee /var/log/*.err

atau gunakan petunjuk find dan truncate

find /var/log -type f -name *.err -exec truncate -s 0 {} ;

Tinggal dikerjakan scriptnya.

CHMOD

Agar dapat dieksekusi oleh crontab

chmod +x hapus.sh

Install cronjob

crontab -e

Tambahkan ke baris sangat bawah kode berikut

0 * * * * /root/hapus.sh

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

Selesai.

 

Sedikit penjelasan.

Error log sejatinya urgen bagi pengembang program dan admin server, karena disana segala tercatat informasi urgen mengenai kesalahan-kesalahan pada kode maupun galat lain terkait program atau sistem aplikasi yang digunakan.

Sedangkan access log mencatat segala pengunjung/siapapun (termasuk robot crawler) yang mengakses laman atau IP VPS kita. Access log pun urgen bagi mengetahui perilaku visitor/pengakses laman, dimana didalam access log tercatat semacam itu spesifik dimana, kapan dan jenis peramban yang digunakan.

akan tetapi pada kasus tertentu, kadang error_log dan access_log semacam itu menjengkelkan karena dapat jadi pada jam saja ukuran filenya dapat membengkak menjadi bermega-mega byte. Pada hal ini tentu kurang bagus dan lambat laun akan merancang kapasitas hardisk penuh.

Web server nginx (Engine-X) dan Apache, error dan access log (logging) dapat dikontrol atau bahkan dinon-aktifkan. akan tetapi kalau dinon-aktifkan tentu kita tak akan tahu penyebab terjadinya error pada program/program. Untuk laman yang mempunyai trafik tinggi bagi 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 di 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.

Catatan:

Command Linux pada panduan ini


Sumber https://idnetter.com