Contoh Script Untuk Melakukan Backup Semua Database SQL di VPS Anda

Halo, berikut ini saya akan share sebuah shell script sederhana yg sangat bermanfaat untuk membackup seluruh database SQL dalam sebuah server. Berbeda dengan command mysqldump yg pernah saya posting di sini, yg mana semua database akan terbackup menjadi satu buah file, nah yg ini tiap-tiap database akan terbackup sendiri-sendiri.

Contoh script backup sql yaitu sbb:

#! /bin/bash
databases=`mysql -e 'show databases' -s --skip-column-names -u root -p'8Y8bm0PR6E' |grep -Ev "(admin_default|phpmyadmin|information_schema|performance_schema|mysql)"`
for db in $databases; do
mysqldump --add-drop-table -u root -p'8Y8bm0PR6E' --databases $db | gzip -c | ssh root@198.17.221.32 "cat > /var/www/html/backup/sql/$db-`date +"%d-%m-%Y"`.sql.gz"
done

Simpan script di atas ke sebuah file dg nama terserah di direktori /usr/bin

Misalnya /usr/bin/backupsql

Kemudian ubah menjadi executable dengan command:

chmod +x /usr/bin/backupsql

Silakan diedit sesuai keperluan, jangan lupa ubah password root mysql sesuai password di server Anda. Script ini jg akan langsung mengirim hasil backup tiap database ke remote server (pada contoh di atas file akan terkirim ke server dg ip 198.17.221.32). Filenya jg akan terkompres oleh gzip. Agar script ini bisa dijalankan otomatis dg kata lain jadi sebuah autobackup maka pastikan dari server ini bisa login ke server backup secara password-less. Langkah terakhir yaitu tinggal menjadwalkan untuk running (misalnya tiap hari) melalu /etc/crontab.

Contoh autorun tiap jam 00.00 waktu server:

0 0 * * * root /usr/bin/backupsql

Jangan lupa restart crond:

service crond restart
SERVERS.id menyediakan jasa seting/setup VPS/Dedicated Server Linux meliputi instalasi, troubleshooting, backup, malware removal, instalasi SSL dll. WhatsApp (text only) 0817 5454 257

Leave a Reply