بسم الله
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 الحمد لله