Halo, nambah satu artikel lagi di hari libur imlek ini 😀
Buat anda yang saat ini menggunakan The Dude sebagai aplikasi monitoring, tentunya akan sangat sering melakukan backup. Yups, mana tahu suatu hari nanti server anda crash..bisa-bisa harus konfig dari awal jika tidak ada backupnya. Mengawali artikel Bash script kali ini saya akan menginformasikan script untuk melakukan backup konfigurasi server dude secara otomatis dan berkala. Karena script ini nantinya akan melakukan perintah secara remote, maka kita memerlukan satu server dengan OS linux tempat bersarangnya script ini.
1. Login ssh ke server anda
2. Masuk ke direktori pilihan untuk menempatkan script dude-backup.sh (saya memilih /root/)
root@server-orang [~]# cd /root root@server-orang [~]#
3. Buat file baru dengan editor kesukaan anda, saya menggunakan vi
root@server-orang [~]# vi dude-backup.sh
4. Copy paste script dibawah ini :
#!/bin/sh # Bash Script - remote backup MikroTik Dude database # by : Jurmansyah [jiem] # http://www.jurmansyah.net # jiem@jurmansyah.net # 23 Januari 2011 - Lembur di hari libur nasional Imlek # Listening = Maher Zein feat Fadly - Insya allah # requires: sh, awk, wget ############################################################################################## # Definisikan server dude dan path backup. USE ABSOLUTLEY PATH FOR DIRECTORIES server= # server name or IP address user= # admin user name password= # admin password backupdir=/backup/dude-backup/data # directory backup file workdir=/backup/dude-backup/work # directory temporary files (setelah file backup dibuat,folder akan didelete) # server port and log file serverport=80 logfile=$backupdir/log.txt ############################################################################################## # Script perintah backup - jangan di edit PATH=/sbin:/bin:/usr/sbin:/usr/bin:/usr/local/sbin:/usr/local/bin # membuat direktori work dan backup file if [ ! -e "$workdir" ] then mkdir -p "$workdir" fi if [ ! -e "$backupdir" ] then mkdir -p "$backupdir" fi if [ ! -e "$backupdir/old" ] then mkdir -p "$backupdir/old" fi today=`date +%Y.%m.%d` #setting waktu hari ini serverfilename=backupbackup-$today.xml #setting file name backupname=dude-backup-$today.xml echo "------------------------------------------------------- Backup dimulai pada $today " >> $logfile # move backup lama ke dir old mv $backupdir/*backup* $backupdir/old 2> /dev/null # Download file backup dari server dude echo "Authorizing..." wget --cookies=on --keep-session-cookies --save-cookies=$workdir/cookie.txt --progress=dot:mega "http://$server:$serverport/dude/main.html?process=login&user=$user&password=$password" -O $workdir/page1.html 2>> $logfile echo "Mohon menunggu sejenak, download file backup XML akan membutuhkan waktu..." wget --cookies=on --load-cookies=$workdir/cookie.txt --progress=dot:mega "http://$server:$serverport/dude/$serverfilename?page=savefile&download=yes" -O $backupdir/$backupname 2>> $logfile # Bersih-bersih echo "Bersih-bersih direktori..." rm -f $workdir/* rm -rf $workdir # Memeriksa backup terbaru dan delete backup yang lama if [ `du $backupdir/$backupname | awk -F" " '{print($1)}'` -gt 0 ] then rm -f $backupdir/old/* rm -rf $backupdir/old echo "Selesai semua." else rm -f $backupdir/$backupname echo "Backup gagal! (lihat log.txt di $backupdir )" echo "Backup gagal!" >> $logfile fi echo " Backup server dude telah selesai. ------------------------------------------------------- " >> $logfile exit
4. Save file dude-backup.sh
Sampai tahap ini kita sudah selesai membuat script backup konfigurasi dude, tahap selanjutnya anda dapat create cron agar script dude-backup.sh secara otomatis di eksekusi dan menghasilkan file backup baru secara berkala.
5. Masuk ke halaman crontab
root@server-orang [~]# crontab -e
6. Untuk cron saya sendiri menerapkan backup setiap minggu dan akan di eksekusi pada hari Sabtu, 23.30
30 23 * * 6 sh /root/dude-backup.sh
Cron dapat anda sesuaikan dengan kebutuhan anda, selesai sudah script untuk backup server dude secara berkala. Script dude-backup.sh dapat di download disini