nano backup.sh
#!/bin/bash
tanggal=`date +%Y%m%d_%H:%M:%S` #variabel tanggal & waktu
echo "start backup database `date`" #print timestamp
for dbname in librenms #nama database
do
/usr/bin/mysqldump $dbname -u librenms -p`cat ~/.mysqlpw` | gzip -9 > backupdb/$dbname/sqldump.$dbname.$tanggal.gz #command backup local
/usr/bin/scp -v /opt/librenms/backupdb/$dbname/sqldump.$dbname.$tanggal.gz ditsti@167.205.113.70:/home/ditsti/$dbname/backupdb/ |&grep -v ^debug > /opt/librenms/backupdb/logbackup.log #command copy file backup ke server backup
done
Untuk menghindari terhapusnya cron job existing, pastikan untuk melakukan pengecekan cronjob yang sedang running dengan command berikut:
crontab -l
Apabila terdapat cron job, masukkan command berikut untuk melakukan edit atau penambahan pada cron job existing
crontab -e
pilih text editor yang biasa digunakan (nano, vi, dll), tambahkan cron job baru pada baris paling bawah
Apabila tidak terdapat cronjob yang sedang running, dapat membuat file cronjob baru dengan command berikut
nano backup.cron
0 * * * * bash /opt/librenms/backup.sh >> ~/backupdb/logbackup.log 2>&1 | mail -s "Backup status" yusa.arifki@itb.ac.id < ~/backupdb/logbackup.log0 * * * * bash /opt/librenms/backup.sh >> ~/backupdb/logbackup.log 2>&1 | mail -s "Backup status" yusa.arifki@itb.ac.id < ~/backupdb/logbackup.log
Keterangan:
. (0 * * * * bash /opt/librenms/backup.sh) menjalankan file bash script backup.sh pada setiap menit ke 0 / setiap jam.
. (>> ~/backupdb/logbackup.log 2>&1) menambahkan isi dari file logbackup.log.
. (mail -s "Backup status" yusa.arifki@itb.ac.id < ~/backupdb/logbackup.log) mengirim email dengan subjek Backup status ke yusa.arifki@itb.ac.id dengan body email isi dari file logbackup.log. *** Pastikan pada server anda sudah terinstall & terkonfigurasimailutils
agar dapat mengirim email.
Baca:
Untuk menjalankan cron job, masukkan command berikut
crontab backup.cron #menjalankan cron dengan nama file backup.cron
Masukkan command berikut untuk memastikan cron job yang dibuat telah berjalan
crontab -l
Buka http://167.205.113.70/username/direktori
Dari gambar diatas dapat dipastikan backup sudah berjalan secara otomatis setiap 1 jam sekali
Apabila menambahkan email pada cron, buka folder inbox / spam pada email yang di daftarkan