بسم الله

Bismillah

Bash scripting linux untuk backup database dilengkapi dengan log sederhana, untuk memudahkan kita dalam melakukan pemeliharaan database server.

Buat File dengan ekstensi *.sh

Contoh disini saya membuat file script dengan nama mysqldump.sh

nano mysqldump.sh

[enter]

Scripting

Berikut script-nya, bisa disesuaikan dengan lokasi komputer/server masing-masing.

#!/bin/sh
# script backup database @author: masari

CREATED=$(date +'%Y-%m-%d@%H:%M')
PATH_BACKUP="/home/"$USER"/backups"
MYSQL_USER=root
MYSQL_PASS=
DATABASE=db_mahasiswa
FILENAME="dump-$DATABASE-"$CREATED.sql.gz
PATH_FILENAME=$PATH_BACKUP/$CREATED/$FILENAME
SERVER=$(uname -mrosn)" | IP: "$(hostname -i)

mkdir -p "$PATH_BACKUP/$CREATED"
mkdir -p "$PATH_BACKUP/logs"

PATH_LOG_FILES=$PATH_BACKUP/"logs"
LOG_FILE=$PATH_LOG_FILES/"log_mysqldump".log

echo "\n" >> $LOG_FILE
echo "---------------------------------------------" >> $LOG_FILE
echo "Backup dibuat pada: "$CREATED >> $LOG_FILE
echo "Hostname: "$SERVER >> $LOG_FILE
echo "---------------------------------------------" >> $LOG_FILE
echo "MYSQLDUMP dimulai pada "$(date +'%A, %d-%m-%Y@%T') >> $LOG_FILE
echo "---------------------------------------------" >> $LOG_FILE

if [ -z "$MYSQL_PASS" ]
then
mysqldump -u $MYSQL_USER $DATABASE -v 2>> $LOG_FILE | gzip > $PATH_FILENAME
else
mysqldump -u $MYSQL_USER -p$MYSQL_PASS $DATABASE -v 2>> $LOG_FILE | gzip > $PATH_FILENAME
fi

echo "---------------------------------------------" >> $LOG_FILE
echo "MYSQLDUMP selesai pada "$(date +'%A, %d-%m-%Y@%T') >> $LOG_FILE

chown $USER $PATH_FILENAME
chown $USER $LOG_FILE

echo "Izin berkas telah berhasil diubah!" >> $LOG_FILE
echo "=============================================" >> $LOG_FILE

exit 0

Simpan script

Jangan lupa untuk menyimpan script, dengan perintah editor yang digunakan, disini saya menggunakan editor NANO, jadi saya tinggal menekan tombol CTRL+O [enter]

Permission access

Berikan izin kepada file bash script-nya, agar bisa di eksekusi / di jalankan lewat terminal linux.

chmod +x mysqldump.sh

Execute

Eksekusi file / script yang telah kita buat, dengan mengetikkan perintah di terminal sebagai berikut:

./mysqldump.sh

atau

sh ./mysqldump.sh

Jika tidak ada error maka akan berjalan dengan lancar tanpa pesan error di layar terminal.

Alhamdulillah الحمد لله

Linked Refrences: