Blog

Home   /   blog   /   Shell Script untuk Backup Bash History File

Shell Script untuk Backup Bash History File

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 Edusoft 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

Leave a Reply

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