Hallo Sobat Ant, setelah kita membahas Cara Backup Database MySQL di AlmaLinux pada tutorial sebelumnya, kali ini kita akan membahas mengenai Cara Backup Database Berkala di AlmaLinux atau Linux OS lainnya.
Untuk melakukan Backup Database MySQL secara berkala ini kita akan menggunakan sebuah bahasa pemrograman yang tersedia di sistem operasi linux yaitu Bash. Sebagai referensi, informasi mengenai Bash bisa dilihat di halaman wikipedia DI SINI.
Point penting dari proses backup database secara berkala ini adalah :
- Melakukan penyimpanan file backup dengan rapi berdasarkan tanggal
- Menentukan waktu untuk melakukan proses backup database secara otomatis dan berkala
- Menghapus file backup yang sudah lama
Dikarenakan proses ini akan berjalan secara otomatis, maka semua konfigurasi yang diperlukan untuk melakukan perintah mysqldump akan disimpan dalam sebuah file bash script.
Untuk itu sebelum membuat script otomatisasi backup database secara berkala ini kita buat, maka kita perlu mempersiapkan beberapa hal berikut :
- User database
- List nama database yang akan dibackup
- Path/lokasi penyimpanan data backup
- Format folder yang akan digunakan
Setelah semua data yang dibutuhkan sudah siap, ikuti langkah-langkah berikut :
List Database
Masuk ke dalam contoh ini path tersebut adalah /backup/dbbackup/
, lalu buat sebuah file untuk menampung list nama-nama database yang akan dibackup. Contoh nama file listdatabase
dengan isi :
db_satu
db_dua
db_tiga
Bash Script
Buat file dengan nama db_backup.sh di folder /backup/dbbackup/. Isikan script sebagai berikut :
#!/bin/sh # Konfigurasi User Database MyUSER="root" # USERNAME MyPASS="passwdroot" # PASSWORD MyHOST="localhost" # Hostname # cmd yg digunakan MYSQLDUMP="$(which mysqldump)" # Backup directory DEST="/backup/dbbackup/" # List Nama Database LDB="$DEST/listdatabase" # Format Tanggal NOW="$(date +"%F")" # Directory penyimpanan DIRTGL="$DEST/$NOW" # Script pembuatan Folder dengan format tanggal [ ! -d $DIRTGL ] && mkdir -p $DIRTGL || : # Script Backup database cat $LDB |while read oi;do $MYSQLDUMP -u $MyUSER $oi --opt --no-autocommit --add-drop-table > $DIRTGL/$oi.sql ;done # Script hapus file backup lama find $DEST/ -type d -mtime +60 -exec rm -rf {} ; # Angka +60 berarti file yang akan dihapus adalah file yang sudah lebih dari 60hari
Executable File
Sebuah file script mesti berupa executable file dengan arti bahwa file tersebut bisa dijalankan sebagai sebuah perintah utuh sehingga script yang ada didalamnya dapat berjalan juga. Dengan contoh lokasi file adalah /backup/dbbackup/db_backup.sh, lakukan perintah :
chmod +x /backup/dbbackup/db_backup.sh
Cron Job
Setelah file script dipastikan dapat dijalankan, langkah terakhir adalah mengatur proses backup tersebut di waktu tertentu dengan menggunakan cron job.
Jalankan perintah :
crontab -e
Kita akan diarahkan tampilan isi cronjob yang sudah atau sedang berjalan. Tambahkan perintah menjankan script backup database yang sudah kita buatkan di line terakhir cronjob tersebut. Sebagai contoh kita ingin menjalankan proses backup ini setiap hari tepat di setiap pukul 1 malam, maka isikan format cronjob seperti berikut lalu simpan.
00 01 * * * /bin/sh /backup/dbbackup/db_backup.sh
Sampai tahap ini konfigurasi proses backup otomatis sudah selesai.
Bagaimana, sob? Cukup mudah dan enak untuk diikuti. Tutorial Cara Backup Database Berkala di AlmaLinux ataupun LinuxOS lainnya kita cukupkan sambai disini.
0 Comments