Backup Database Website Anda Secara Otomatis dengan mysqldump dan cron

2009Oct27

Membackup database merupakan kebutuhan yang penting bagi sebuah pemilik website, dan bisa jadi merupakan sebuah kegiatan rutin berkala. Bisa per bulan, per minggu, per hari atau per jam. Semua terserah sang pemilik atau pengelola website.

Tulisan yang akan saya tulis ini memang bukan sebuah rahasia lagi di dunia maintenace website. Akan tetapi hanya sebuah pengingat agar tidak basi dan tetap di jadikan tradisi turun menurun :p

Untuk website yang berjalan di lingkungan linux sebagai servernya, fasilitas mysqldump dan cron dapat diberdayakan sebagai alat ampuh untuk membackup database website anda secara otomatis dalam periode tertentu. Yang perlu anda lakukan adalah:

Buka editor cron anda, atau cukup ketikkan:
crontab -e
Ini akan membuka file cron anda.

Kemudian masukkan baris perintah berikut di editor:
* 3 * * * mysqldump -u USERNAMEMYSQL -pPASSWORD --host=localhost --add-drop-table NAMADATABASE | gzip -c > /home/backup/NAMAFILEBACKUP_`date --iso-8601`.sql

Tanda * 3 * * *  dalam cron berarti, mysqldump tersebut akan dijalankan secara otomatis pada pukul 3 pagi setiap harinya. Untuk pengaturan jadwa di cron anda dapat membaca referensi di: http://www.linuxhelp.net/guides/cron/

Opsi -u USERNAMEMYSQL adalah opsi untuk menyertakan username mysql anda, contoh jika username mysql anda adalah "admin" tanpa tanda kutip maka ketikkan: -u admin

Perhatikan bahwa opsi password harus disertakan tanpa spasi, sebagai contoh jika password anda adalah "R4H4S14" tanpa tanda kutip, maka opsinya menjadi -pR4H4S1A.

Opsi berikutnya adalah --host=localhost yang artinya menggunakan host localhost, jika host anda berada di IP address lain, atau hostname yang lain, maka anda tinggal gantikan localhost tersebut dengan IP address atau hostname mysql server anda, contoh: -u 192.168.3.1 atau -u mysql.contoh.com.

Berikutnya adalah opsi --add-drop-table ini akan menambahkan fungsi DROP TABLE IF EXISTS di sql yang akan di export, yang berfungsi untuk men-drop terlebih dahulu tabel yang sudah ada, kemudian di create ulang.

selanjutnya NAMADATABASE harus diganti dengan nama databse yang akan anda backup. Jika anda hendak membackup semua database, gantkan ini dengan --all-database.

Lalu kita temukan | gzip -c > /home/backup/NAMAFILEBACKUP_`date --iso-8601`.sql.gz
Ini adalah fungsi pipe di konsol linux yang berguna untuk mengkompress file hasil output mysqldump dengan kompresi gz. lalu filenya akan disimpan di direktori /home/backup dengan nama file: NAMAFILE_2009-10-27.sql.gz.
Anda dapat mengganti direktori dan namafile backup sesuai dengan keinginan anda.

Kenapa jadi NAMAFILE_2009-10-27.sql.gz ?
Perhatikan kode `date --iso-8601`, kode ini akan menambahkan tanggal pembuatan file di belakang nama file anda.

OK saya rasa sudah cukup. Database akan secara otomatis di backup setiap pukul 3 pagi setiap harinya.
 

Comments

Anonymous's picture

ok banget tutorialnya

Anonymous's picture

tutorialnya oke .... sangat membantu

abetobing's picture

terimakasih freehdr, semoga berguna

Post new comment

The content of this field is kept private and will not be shown publicly.
  • Web page addresses and e-mail addresses turn into links automatically.
  • Allowed HTML tags: <a> <em> <strong> <cite> <code> <ul> <ol> <li> <dl> <dt> <dd>
  • Lines and paragraphs break automatically.

More information about formatting options

CAPTCHA
Untuk mencegah spam ke website abetobing.com, silahkan masukkan kode yang tertera dibawah ini.
Image CAPTCHA
Enter the characters (without spaces) shown in the image.

Recent comments

Check This Out