Backup Otomatis MySql Database Dengan mysqldump dan Crontab

, , No Comments
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
    1. 1.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

    2. 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.

    3. 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.

    4. Command yang ada di crontab ini nantinya akan dieksekusi secara periodik oleh cron daemon. Untuk konfigurasi dasar crontab adalah sebagai berikut :

      EntryDeskripsiSebanding
      @yearly (or @annually)Dijalankan sekali setahun, setelah tengah malam (00:00) Januari tanggal 10 0 1 1 *
      @monthlyDijalankan sekali sebulan, setelah tengah malam (00:00) pada awal bulan0 0 1 * *
      @weeklyDijalankan sekali seminggu, setelah tengah malam (00:00) pada hari minggu0 0 * * 0
      @dailyDijalankan sekali sehari tiap tengah malam (00:00)0 0 * * *
      @hourlyDijalankan setiap jam0 * * * *
      @rebootDijalankan pada sistem start@reboot

    5. 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

    6. Cara membuat crontabnya adalah dengan mengetikkan command in ke bash shell command :
      crontab -e

    7. 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.

    8. 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

Nah! Mudah sekali bukan! Selamat Mencoba :)

0 comments:

Post a Comment