Sharing seputar Dunia Tkj dan Blogging ^^

Saturday, September 24, 2016

Membuat Skrip Auto Backup Seluruh Databases MySQL/Mariadb



Kegiatan pencandangan (backup) suatu database adalah hal yang sangat penting bagi seorang pengelola web server. Ada banyak cara untuk membackup database baik menggunakan aplikasi ataupun skrip yang simpel. Seperti tulisan kali ini, penulis akan membahas mengenai skrip bagaimana cara mem-backup database pada MySQL/Mariadb.
Pada tulisan lalu kita telah membahas mengenai dasar-dasar penggunaan atau perintah dari MySQL/Mariadb (silahkan baca: http://www.linuxku.com/2016/06/perintah-dasar-mysql-dan-mariadb-di-cli.html).

Dari situ kita bisa memanfaatkan perintah mysqldump untuk membackup suatu database. Nah, sekarang kita akan membuat bash script untuk mempermudah cukup satu perintah semua database terbackup.

Langsung saja pertama-tama kita buat direktori /backups
$ sudo mkdir /backups
Kemudian buat skripnya dengan nama db-auto-backup.sh
$ sudo nano /usr/bin/db-auto-backup.sh
Lalu masukan skrip di bawah ini:
#!/bin/bash

/usr/bin/mysql -u root -p'PasswordAnda' -e 'show databases' | /bin/awk '{print $1}' | /bin/grep -v "^Database$" | /usr/bin/xargs -i{} /usr/bin/mysqldump -u root -p'PasswordAnda' --opt -Q -r /backups/{}-`date +%F-%I%p`.sql {}
gzip -q /backups/*.sql
Penjelasan skrip
Skrip menjalankan perintah mengambil seluruh nama database. Kemudian hasilnya setiap nama dari database tersebut diekspor dengan format nama-waktu dan di kompress dengan format tar.gz. Dan jangan lupa ganti pada kata 'PasswordAnda' disesuaikan dengan password pada MySQL/Mariadb server Anda.

Untuk membuat agar berjalan terus-menerus kita buatkan cronjob nya, pertama-tama ketik:
$ crontab -e
Lalu masukan seperti berikut:
30 2 * * *  /usr/bin/db-auto-backup.sh
Semoga bermanfaat. :)

Website ini menganut paham demokrasi wkwk
Jangan lupa gunakan emot biar akrab gan (/ ^.^)/
EmoticonEmoticon