Untuk menjaga kemanan database bisa dilakukan dengan berbagai macam cara, salah satu cara ter penting adalah dengan melakukan pencadangan / backup. Supaya lebih efektif dan efesien, proses backup database ini sebaiknya dilakukan secara otomatis oleh sistem, karena kalau dilakukan manual pastinya akan merepotkan, apalagi kalau databasenya banyak dan ukurannya sudah cukup besar.
Backup otomatis pada database MySQL sendiri mulai saya lakukan di Kampus Unviersitas Muhammadiyah Sukabumi (UMMI) bermula dari adanya tragedi pada salah satu server yaitu server Perpustakaan UMMI, waktu itu saya mendapat laporan bahwa sistem perpustakaan tidak bisa diakses, dan waktu saya cek langsung ternyata sambungan ke databsenya bermasalah, selanjutnya saya cek ke database dan ternyata MySQL Servernya crash.
Cukup kaget sih mengetahui bahwa MySQL Servernya nya crash, karena otomatis datanya juga pasti ada yang ikut terpengaruh. Lalu saya berupaya dengan berbagai macam cara untuk mengembalikan database tersebut, dan akhirnya database bisa dipulihkan dan MySQL Server juga di install ualng.
Bermula dari kejadian tersebut, akhiranya saya googling deh bagaimana caranya membuat backup MySQL secara otomatis di linux, waktu itu nemu tutorial tapi entah dari blog siapa saya lupa lagi, yang jelas tutorial ini cukup manjur ketika saya praktekan.
Karena saya menggunakan crontab untuk proses penjadwalannya, maka saya akan sedikit menjelaskan fortam crontabnya.
Penjelasan :
5 bintang (*) diatas merepresentasikan bagian2 format tanggal yang berbeda, urutannya sebagai berikut :
1. (* pertama) : menit (isian : 0 – 59)
2. (* kedua) : jam (isian : 0 – 23)
3. (* ketiga) : hari dari bulan / tanggal (isian : 1 – 31)
4. (* keempat) : bulan (isian : 1 – 12)
5. (* kelima) : hari dari minggu (isian : 0 – 6) –> 0 = minggu
Untuk penjelasan lebih lanjut tentang crontab, temen-temen bisa googling sendiri ya, hehe.
Dalam membuat script crontab ini bisa dengan berbagai macam cara, salah satunya dengan menyimpan script dalam file terpisah dan file tersebut dijalankan lewat crontab.
Sebagai contoh, saya membuat file auto_backup.sh dan saya simpan di /home/ruswan/backup/, isi script nya adalah sebagai berikut:
tanggal=`date '+%d-%H'`;
$fileName=/home/ruswan/data/database_$tanggal.sql.gz ;
mysqldump -u username_db -p password_db nama_db | gzip > $fileName;
Selanjutnya buka terminal dan ketikan: crontab -eMaka akan mucul text editor, dan ketikan script dibawah ini:
30 17 * * * bash /home/ruswan/auto_backup.sh
Kalau sudah, makan tampilannya akan seperti ini:
Baca juga : Backup Otomatis PostgreSQL di Linux
Itu berarti peritah yang ada di file auto_backup.sh akan dieksekusi setiap hari pada jam 17:30, yaitu setengah enam sore.
Kalau sudah sampai situ, berarti kita sudah selesai membuat auto backup MySQL, dan kita tidak perlu lagi melakukan backup manual.
Apabila ada yang hendak ditanyakan, silahkan tuliskan di kolom komentar dibawah ini.
Baca juga : Backup Otomatis Database MySQL di Linux Ubuntu dengan Crontab