Untuk sebuah applikasi berbasis web, data adalah suatu hal yang penting! Jadi yang namanya backup data itu harus punya. Untuk mem-backup secara manual MySql database bisa menggunakan yang namanya mysqldump. Nah, tetapi kalau tiap hari harus melakukan backup manual bisa repot kan? Untungnya di Operating Sistem linux ada yang namanya crontab, yang berfungsi untuk menjadwalkan tugas/eksekusi applikasi pada waktu yang sudah ditentukan.
Tutorial Otomatis Backup MySql Database Dengan mysqldump
Kali ini saya akan coba berbagi ilmu untuk membackup MySql dangan mysqldump dan kemudian dijadwalkan backup secara otomatis sehari sekali dengan menggunakan crontab. Untuk langkah – langkahnya adalah sebagai berikut :
Screenshot-mysqldump |
-
-
- buat script mysqldump yang akan digunakan untuk membackup MySql databasenya nanti, files keluaran mysqldump yang diharapkan akan berformat :
db_catperku_year_month_date.sql.gz
- buat script mysqldump yang akan digunakan untuk membackup MySql databasenya nanti, files keluaran mysqldump yang diharapkan akan berformat :
-
-
-
- Untuk script backup MySql databasenya kira – kira seperti ini :
mysqldump -u root -p(ganti-dengan-password-database) -h 127.0.0.1 (ganti-dengan-database-yang-mau-dibackup) | gzip > db_dbname_`date ' %F'`.sql.gz
Keterangan : user yang digunakan dalam bash shell command mysqldump kali ini adalah root, bisa diganti sesuai kebutuhan. Sedangkan yang perlu diperhatikan adalah bagian (ganti-dengan-password-database) dan (ganti-dengan-database-yang-mau-dibackup) , pastikan kedua bagian itu diganti dengan password dan username database anda.
- Untuk script backup MySql databasenya kira – kira seperti ini :
-
-
-
- Test script yang sudah dibuat, pastikan script mysqldump bisa dijalankan sebelum ditambahkan ke dalam crontab.Kalau scrip mysqldump sudah bisa menghasilkan keluaran seperti yang diharapkan sebelumnya, maka tinggal memembuat crontab mysqldump.
-
-
-
- Command yang ada di crontab ini nantinya akan dieksekusi secara periodik oleh cron daemon. Untuk konfigurasi dasar crontab adalah sebagai berikut :
Entry Deskripsi Sebanding @yearly (or @annually)
Dijalankan sekali setahun, setelah tengah malam (00:00) Januari tanggal 1 0 0 1 1 *
@monthly
Dijalankan sekali sebulan, setelah tengah malam (00:00) pada awal bulan 0 0 1 * *
@weekly
Dijalankan sekali seminggu, setelah tengah malam (00:00) pada hari minggu 0 0 * * 0
@daily
Dijalankan sekali sehari tiap tengah malam (00:00) 0 0 * * *
@hourly
Dijalankan setiap jam 0 * * * *
@reboot
Dijalankan pada sistem start @reboot
- Command yang ada di crontab ini nantinya akan dieksekusi secara periodik oleh cron daemon. Untuk konfigurasi dasar crontab adalah sebagai berikut :
-
-
-
- Untuk kali ini saya script mysqldump akan dijalankan untuk backup MySql database sehari sekali, sehingga scriptnya akan sebagai berikut.
00 00 * * * /usr/bin/mysqldump -u root -(ganti-dengan-password-database) -h 127.0.0.1 (ganti-dengan-database-yang-mau-dibackup) | gzip > db_dbname_`date ' %F'`.sql.gz
- Untuk kali ini saya script mysqldump akan dijalankan untuk backup MySql database sehari sekali, sehingga scriptnya akan sebagai berikut.
-
-
-
- Cara membuat crontabnya adalah dengan mengetikkan command in ke bash shell command :
crontab -e
- Cara membuat crontabnya adalah dengan mengetikkan command in ke bash shell command :
-
-
-
- Text editor vi akan terbuka secara otomatis, masukkan script bash shell command yang tadi :
00 00 * * * /usr/bin/mysqldump -u root -(ganti-dengan-password-database) -h 127.0.0.1 (ganti-dengan-database-yang-mau-dibackup) | gzip > db_dbname_`date ' %F'`.sql.gz
Simpan file pada Text editor vi setelah selesai, script mysqldump akan dijalankan setiap hari oleh cron daemon.
- Text editor vi akan terbuka secara otomatis, masukkan script bash shell command yang tadi :
-
-
- Pilihan opsional jika ingin mudah backup manual, simpan script mysqldump untuk backup MySql database kedalam sebuah script shell. misal backupsekarang.sh , caranya jalankan command ini di bash shell command:
vi backupsekarang.sh
Masukkan script ini :
mysqldump -u root -p12345 -h 127.0.0.1 catperku_blog | gzip > db_catperku_`date ' %F'`.sql.gz
Simpan backupsekarang.sh, dan chmod ke 755 agar bisa dieksekusi
chmod 755 backupsekarang.sh
Untuk menjalankan backupsekarang.sh caranya adalah sebagai berikut :
./backupsekarang.sh
- Pilihan opsional jika ingin mudah backup manual, simpan script mysqldump untuk backup MySql database kedalam sebuah script shell. misal backupsekarang.sh , caranya jalankan command ini di bash shell command:
Nah! Mudah sekali bukan! Selamat Mencoba 🙂