Cara membuat backup database dengan menggunakan bash script sederhana

BerandaArtikelBackupCara membuat backup database dengan...

Pengantar

Terkadang terdapat suatu kondisi dimana administrator memerlukan backup database masing masing database user secara menyeluruh namun terpisah dari script atau fitur yang sudah disediakan oleh sistem cPanel/WHM.

Prosedur

Berikut contoh bash script sederhana yang dapat melakukan generate backup database masing masing database user secara menyeluruh di dalam server, kecuali database mysql, information_schema dan performance_schema yang tidak diikut sertakan. Untuk dapat menjalankan script berikut, memerlukan akses root.

#####################################################
#!/bin/bash
 
BACKUPDIR="/backup/databases/$(date +%F)"
 
if [ ! -e $BACKUPDIR ]; then
   mkdir -p $BACKUPDIR
   chmod 700 $BACKUPDIR
fi
 
mysql -Bse 'show databases;'|grep -Ev 'information_schema|mysql|performance_schema'|sort|while read -r DB;do
   mysqldump $DB > $BACKUPDIR/$DB.sql
   echo "$DB.sql = $(du -sh $BACKUPDIR/$DB.sql)"
done
#####################################################

Pada script di atas, akan menjalankan backup database per .sql database name. Kondisi tersebut lebih aman karena diproses sesuai dengan database name yang ada di alam server, tidak melakukan backup seluruh database dalam satu file .sql, namun masing masing database terbackup ke dalam masing masing file .sql.

Lokasi file backup database .sql akan tersimlan di dalam directory /backup/databases. Jika script dijalankan pada tanggal 5 Agustus 2024 maka lokasi file backup database .sql akan tersimpan di dalam directory /backup/databases/2024-08-05 secara otomatis.


Top