Membuat Skrip Auto Backup MySQL/Mariadb


Kegiatan mencadangkan (backup) suatu database pada hosting adalah hal yang sangat penting dilakukan, dengan tujuan menjaga agar jangan sampai ketika hosting bermasalah seperti diretas atau bermasalah ketika sistem upgrading, kita masih punya berkas cadangannya yang mana digunakan untuk mengembalikan situs kita ke semula.

Sejak saya bermigrasi dari shared hosting ke VPS Unmanaged, sesuai namanya yakni unmanaged yang berarti tidak diatur oleh pihak hoster melainkan seluruh pengaturan dibebankan oleh penyewa, dalam hal ini saya sendiri. Oleh karenanya, beberapa hal saya melakukan seperti membuat skrip auto backup database guna untuk mempermudah saya dalam hal pengaturan VPS.

Ada banyak cara untuk mencadangkan database, salah satu yang termudah adalah kita memanfaatkan mysqldump. Yakni:

Cara Simpel

Cara simpelnya seperti berikut:

Penjelasan Skrip

Argumen -u berarti user yang digunakan, kemudian -p berarti password yang digunakan. Perlu diketahui, untuk penulisan password gunakan tanda single-quote dan jangan dispasi, juga jangan pula gunakan bash variable.

Cara di atas sangatlah simpel dan efektif cukup satu perintah saja. Hanya saja, cara di atas, kita mencadangkan seluruh database menjadi satu berkas, yang mana jika database Anda banyak menjadikan ukuran berkas tersebut menjadi besar.

Cara Kompleks

Jika Anda membutuhkan pencadangan tiap-tiap database dalam satu berkas masing-masing, Anda bisa mencontoh skrip di bawah ini:

Pertama-tama kita buat dahulu direktori misalnya di /backup, lalu kemudian buat berkas bernama db-backup.sh:

Kemdian, masukan skrip di bawah ini:

Penjelasan Skrip

Pertama-tama kita mengeset beberapa variabel yang mana nanti digunakan untuk perintah selanjutnya, untuk mempermudah jika kita ingin mengubah tujuan (path) ataupun username dan password dari MySQL/Mariadb.

/usr/bin/mysql -u $DB_USER --password=$DB_PASSWORD -e 'show databases' menampilkan seluruh isi database dalam MySQL/Mariadb.

Kemudian diapit oleh pipeline | yang mana digunakan untuk memindahkan output untuk input pada perintah lainnya, dan diapit dengan tanda backslash \ yang berarti untuk meringkaskan skrip agar kita bisa menuliskannya digaris baru.

Kemudian output dari pipeline diteruskan untuk memanggil awk yang langsung menerjemahkan hasil dari perintah show databases ke bentuk karakter.

Kemudian diteruskan lagi dengan grep -v yang berarti menampilkan isi kecuali kata-kata Database, information_schema, dan performance_schema. Terakhir kita memanfaatkan xargs untuk menjalankan perintah dari output grep agar mysqldump seakan mengeksekusi banyak perintah. Dan setelahnya, semua berkas dikompres menggununakn gzip.

Crontab

Jika kita ingin menggunakan skrip di atas menjadi otomatis dieksekusi pada tiap-tiap waktu. Kita perlu mengaturnya di crontab caranya adalah sebagai berikut:

Dan masukan seperti berikut:

Jika Anda menggunakan skrip pertama:

Jika Anda menggunakan skrip kedua:

Penjelasan Skrip

30 0 * * * berati dilakukan setiap hari pada jam 00:30. Adapun format crontab adalah sebagai berikut:

300***
minutehourday (month)monthweek

Anda bisa gunakan cara mudahnya di: http://crontab.guru

Ayo Berlangganan!

Dapatkan pemberitahuan artikel-artikel terbaru super cepat, langsung dari surel Anda.
Lebih dari 320 telah berlangganan situsali.com, ayo segera daftarkan surel Anda sekarang juga!



Perhatian!

Demi kenyamanan bersama, sebelum berkomentar, harap gunakan bahasa yang baik dan benar. Juga baca aturan dalam berkomentar. Dilarang berkomentar yang dapat memicu pertengkaran dan menyinggung unsur SARA (Suku, Agama, Ras, dan Antar Golongan).

One Reply to “Membuat Skrip Auto Backup MySQL/Mariadb”

Leave a Reply