Studi kasus: Membuat aplikasi sederhana backup (dumping) database MySQL otomatis di Ubuntu Server


Dari artikel sebelumnya yang berjudul “Mengexport database MySQL melalui terminal” saya sudah membahas bagaimana melakukan backup (dumping) database MySQL melalui terminal dan pada artikel sebelumnya yang berjudul “Menjadwalkan eksekusi aplikasi secara otomatis dengan cron” saya juga sudah membahas bagaimana membuat penjadwalan aplikasi secara otomatis. Inti dari artikel ini adalah menggabungkan keduanya, yaitu menjalankan perintah mysqldump dengan cara cronjob.

Untuk skenario ini, saya ingin melakukan backup database test setiap sehari sekali pada jam 06.00 dan data hasil backup tersebut tidak menimpa backup database hari kemaren. Misalnya pada tanggal 02 Januari 2014 saya melakukan backup database dengan nama test.sql di dalam folder 2014-01-02/, maka pada hari berikutnya akan tercipta folder 2014-01-03/ yang berisi backup database test pada hari itu juga dan hari berikutnya akan tercipta folder 2014-01-04/ yang berisi backup database test seperti itu terus berulang pada hari berikutnya.

Untuk itu saya membuat sebuah script sederhana untuk dieksekusi di crontab dengan nama backup_database dengan menjalankan perintah di bawah:
vim backup_database
kemudian saya akan isi script tersebut dengan kode program seperti di bawah ini:

 #!/bin/sh  
 tgl=`date +%F`  
 /bin/mkdir /home/user/$tgl  
 /usr/bin/mysqldump -uroot -proot --opt test > /home/user/$tgl/backup_database.sql

atau

 #!/bin/bash  
 tgl=`date +%F`  
 /bin/mkdir /home/user/$tgl  
 /usr/bin/mysqldump -uroot -proot --opt test > /home/user/$tgl/backup_database.sql

simpan lalu, silakan keluar dari editor vim. Kemudian anda bisa jalankan perintah di bawah, agar file backup_database dapat dieksekusi:

 chmod +x backup_database

Setelah itu, saya akan membuat program tersebut dijadwalkan di aplikasi cron sesuai jamnya dengan perintah di bawah:

 crontab -e

kemudian saya masukkan konfigurasi di bawah:

 * 06 * * * /home/user/./backup_database

simpan, dan silakan buktikan, bahwa sekarang secara otomatis, server anda akan membuat direktori baru sesuai dengan tanggal backup setiap hari pada pukul 06.00 pagi. Lalu pada direktori tersebut akan diisi dengan database hasil dumping / backup sesuai tanggal dari nama direktori anda.

Bagaimana, mudah bukan? Selamat mencoba dan terima kasih telah berkunjung :-)

Beberapa artikel terkait:

Comments