Firebird adalah salah satu database relasional yang cukup handal dan cukup populer. Data yang telah tersimpan di dalam database penting untuk di backup, agar terhindar dari kehilangan data atau kerusakan data. Selain itu repot jika harus rutin backup secara manual maka dibackup secara otomatis dengan menggunakan Crobtab di linux.
Berikut adalah cara backup database Firebird menggunakan Crontab
1. Buka terminal, kemudian install Crontab
$ sudo apt-get update
$ sudo apt-get install cron
2. Check terinstall
$ crontab -e
3. Lalu buat file .sh di dalam folder projek
//letak projek
$ cd /projek/backup_db
$ touch backup.sh
4. Selanjutnya masuk ke dalam file backup.sh
$ sudo nano backup.sh
$ sudo chmod -R 777 backup.sh
5. Edit file backup.sh
#!/bin/bash
BCKNAME=/mnt/backup/`date +%Y`/mydb-`date +%F`.gbk
LOGNAME=/mnt/backup/`date +%Y`/log/mydb-`date +%F`.log
if [ ! -d /mnt/backup/`date +%Y` ]; then
mkdir /mnt/backup/`date +%Y`
fi
if [ ! -d /mnt/backup/`date +%Y`/log ]; then
mkdir /mnt/backup/`date +%Y`/log
fi
rm -f $BCKNAME.gz
rm -f $LOGNAME.gz
(/opt/firebird/bin/gbak -b -v localhost:/dbases/mydb.fdb -user sysdba -pass ***** $BCKNAME 2>&1) > $LOGNAME
gzip $BCKNAME
gzip $LOGNAME
6. Modifikasi sesuai dengan tempat backup dan ubah nama user dan password disesuaikan.
\#!/bin/bash
BCKNAME=/mnt/backup/`date +%Y`/mydb-`date +%F`.fbk
LOGNAME=/mnt/backup/`date +%Y`/log/mydb-`date +%F`.log
if [ ! -d /mnt/backup/`date +%Y` ]; then
mkdir /mnt/backup/`date +%Y`
fi
if [ ! -d /mnt/backup/`date +%Y`/log ]; then
mkdir /mnt/backup/`date +%Y`/log
fi
(/opt/firebird/bin/gbak -b -v localhost:/home/febby/mewah_intranet_prod.fdb -user sysdba -pass '********' $BCKNAME) > $LOGNAME
- BCKNAME dan LOGNAME setting sesuai lokasi penyimpanan data backup (contoh folder /mnt/backup/{Year}/mydb-nama_file.fbk dan /mnt/backup/{Year}/log/mydb-nama_file.log)
- script gbak -b -v adalah script untuk membackup
- localhost:/home/febby/mewah_intranet_prod.fbk letak file fbk yang akan di backup
- -user nama_user -pass diisi sesuai nama user dan password dalam database firebird.
7. Buat folder untuk menyimpan data backupan. Disini lokasi ada di dalam folder /mnt/backup/ (bebas kalian mau simpan dimana tapi sesuaikan lokasi dan setting di file backup.sh)
Lalu kita buka crontab
$ crontab -e
//Contoh setting ambil data setiap 2 menit
# m h dom mon dow command
$ 2 * * * * /projek/backup_db/backup.sh
8. Tunggu beberapa menit. hingga ada file yang tercipta seperti di bawah