Shell Programing Untuk Backup MySQL

Oke langsung saja.

  1. Terlebih dahulu buatlah sebuah folder backup pada user yg bersangkutan
  2. Kemudian buatlah script untuk backup database MySQL. Disini saya tuliskan script lengkap yang telah saya buat dan nanti akan saya jelaskan satu persatu.
  3. #!/bin/sh
    tanggal=`date ‘+%Y%m%d_%H%M%S’`;
    path=”/home/user/backup”;
    find $path/ -mtime +2 -type f -exec rm -rf {} \;
    sleep 30;
    mysqldump -u userdb -ppassdb namadb | gzip > $path/namadb_$tanggal.gz

  4. Simpan script tersebut dan berilah nama backup.sh
  5. Upload dan letakkan file tersebut pada direktori /bin pada cPanel.
  6. Ubah permission nya menjadi 755.
  7. Masuk ke Cron Jobs, pada menu Add New Cron Job, kemudian setting waktu yang diinginkan untuk melakukan backup.
  8. Pada form Command, masukkan perintah
  9. sh /home/user/bin/backup.sh

  10. Klik tombol “Add New Cron Job”.
  11. Untuk mencoba apakah script yang kita buat berjalan atau tidak, sebaiknya setting waktu waktu eksekusi di Cron Jobs tadi menjadi “Every Minute”, nanti jika script nya sudah berjalan dengan lancar baru ubah lagi sesuai dengan yang diinginkan.

Penjelasan Script

tanggal=`date '+%Y%m%d_%H%M%S'`;

Adalah variabel yang mengambil tanggal pada waktu script di eksekusi, sehingga nama database akan selalu berbeda, sesuai dengan tanggal dan jam backup.

path="/home/user/backup”;

Folder dimana database hasil backup akan di simpan.

find $path/ -mtime +2 -type f -exec rm -rf {} \;

Script diatas berfungsi untuk mencari file di dalam folder $path (/home/user/backup) yang mempunyai umur lebih dari 2 hari dari sekarang. Jika file yang dimaksud ditemukan, kemudian file tersebut di delete. Silahkan ubah +2 sesuai dengan kebutuhan anda.

sleep 30;

Digunakan untuk menunggu waktu delete dan waktu backup, supaya tidak berbarengan. 30 adalah dalam detik. Mungkin script ini tidak diperlukan jika database yang didelete kecil atau sedikit. Tapi jika database yang akan didelete besar dan banyak, sebaiknya script ini ditambahkan supaya tidak terlalu memberatkan server.

mysqldump -u userdb -ppassdb namadb | gzip > $path/namadb_$tanggal.gz

mysqldump adalah perintah untuk melakukan backup pada database MySQL. Gantilah userdb, passdb dan namadb sesuai dengan user, password dan database anda. gzip digunakan untuk melakukan kompresi database. Anda juga diperbolehkan untu menggunakan jenis kompresi lain seperti zip, rar dll.

Semoga bermanfaat.

Satu pemikiran pada “Shell Programing Untuk Backup MySQL

Tinggalkan Balasan

Isikan data di bawah atau klik salah satu ikon untuk log in:

Logo WordPress.com

You are commenting using your WordPress.com account. Logout / Ubah )

Gambar Twitter

You are commenting using your Twitter account. Logout / Ubah )

Foto Facebook

You are commenting using your Facebook account. Logout / Ubah )

Foto Google+

You are commenting using your Google+ account. Logout / Ubah )

Connecting to %s