Cara singkat backup database MySQL di Ubuntu (atau di Debian).
Seperti yang mungkin sudah Anda tahu, di Ubuntu ada file konfigurasi /etc/mysql/debian.cnf. File itu biasanya digunakan oleh sistem untuk proses maintenance database MySQL (misal check database corrupt atau tidak ketika di awal menjalankan service mysql).
Nah, skrip di bawah ini, akan membackup semua database dan menyimpannya di BACKUP_DIR. Saya lebih memilih cara ini dibanding menggunakan perintah mysqldump --all-databases, karena dengan cara ini saya bisa dengan mudah memilih database mana yang akan di restore.
#!/bin/bash
BACKUP_DIR="/data/backups/mysql"
DATE=`date +%F_%H-%M-%S`
echo "Backing up MySQL databases..."
mysql --defaults-file=/etc/mysql/debian.cnf --batch --skip-column-names -e "show databases" |
while read DB ; do
echo Dumping "${DB}" ...
mysqldump --defaults-file=/etc/mysql/debian.cnf --add-drop-table "${DB}" | gzip -c > "${BACKUP_DIR}/${DB}.${DATE}.sql.gz"
done
Skrip di atas sedikit dimodifikasi dari sumber aslinya.