Cara Backup Database Berkala di AlmaLinux

Apr 24, 2022

Domain .id 250.000 IDR/tahun

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 :

  1. Melakukan penyimpanan file backup dengan rapi berdasarkan tanggal
  2. Menentukan waktu untuk melakukan proses backup database secara otomatis dan berkala
  3. 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 :

  1. User database
  2. List nama database yang akan dibackup
  3. Path/lokasi penyimpanan data backup
  4. 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

Submit a Comment

Your email address will not be published.