Shell Script untuk Backup Bash History File
Oleh
chmood
Di Linux setiap kali user mengetikkan perintah pada terminal atau console akan selalu tersimpan di file .bash_history di home directory masing-masing user. Terkadang ada user nakal yang tahu bahwa penyimpanan perintah di bash history akan dilakukan ketika user keluar dari session dengan mengetikkan perintah exit. Pada saat user tersebut melakukan remote dan ingin menghilangkan jejak perintah di bash history, maka user tersebut cukup keluar secara paksa melalui close terminal pada putty yang digunakan. Dengan cara seperti itu, otomatis perintah-perintah yang telah diketikkan tidak dapat disimpan di bash history.
Masalah lain yang perlu diantisipasi adalah ketika user nakal mengetahui tempat penyimpanan perintah di bash history, maka user tersebut dapat menghilangkan jejak perintahnya dengan mengosongkan file .bash_history tersebut.
Untuk mengantisipasi 2 masalah tersebut, kita perlu membuat backup file .bash_history untuk mengetahui aktivitas user sebelum menghilangkan jejaknya.
Ada 2 hal untuk mengantisipasi masalah tersebut:
- Perintah-perintah disimpan bukan pada saat user keluar dari session tapi pada saat perintah tersebut dieksekusi.
- Perintah akan dibackup pada saat user login dan akan disimpan pada suatu folder
Berikut ini kita akan membuat script yang bisa dimasukkan kedalam bashrc agar tiap kali user login, script kita juga akan dijalankan.
#!/bin/bash ########################### # # Backup History Command # # Author By Ustazah Center ########################### # Simpan Command setelah dieksekusi shopt -s histappend PROMPT_COMMAND='history -a' # Yang di backup backup_file="/$HOME/.bash_history" # dibackup ke tujuan="/tmp/bash_history" # buat nama file lognya day=$(date +%d.%H.%M) nama_user=$USER nama_file="$nama_user-$day.log" # Tampilkan dilayar echo "Backup file $backup_file ke $tujuan/$nama_file" date echo #Kopi file ke tujuan backup cp $backup_file $tujuan/$nama_file echo echo "Backup Selesai" date ls -lh $tujuan
Komentar