sumber : http://www.bangandi.web.id/2015/06/cara-backup-direktori-website-beserta.html

Cara Backup Direktori Website Beserta Database Dengan Bash Script, Webserver | Debian


Tips.
- Jika tidak mengunakan user root maka gunakan sudo untuk user sudoers.
- Bash script dibawah ini bisa kreasikan untuk melakukan multi backup atau juga backup semua direktori under /var/www/.

1. Membuat direktori tempat menyimpan backup. 
1root@webserver: mkdir /backup-allweb
2#atau
3root@webserver: mkdir /tmp/backup-allweb
4#atau
5root@webserver: mkdir /home/bangandi/backup-allweb

2. Membuat file bash script. 
1root@webserver: mkdir /backup-script
2#atau
3root@webserver: mkdir /tmp/backup-script
4#atau
5root@webserver: mkdir /home/bangandi/backup-script.

Kemudian, buat file bash script-nya dengan format " nama-bashscript.sh ", dibawah ini saya membuat bash script backup-zabbix.sh.
1root@webserver: nano /backup-script/backup-zabbix.sh
2#atau
3root@webserver: mkdir /tmp/backup-script/backup-zabbix.sh
4#atau
5root@webserver: mkdir /home/bangandi/backup-script/backup-zabbix.sh

3. Copy bash script dibawah ini ke dalam file bash scriptnya, dan sesuaikan dahulu konfigurasinya seperti filename, srcdir1, srcdir2, desdir. 
01#!/bin/bash
02# Bang Andi
03# www.bangandi.web.id
04# Backup dir website beserta database
05 
06TIME=`date +%b-%d-%y`                   
07FILENAME=backup-zabbix-dan-DB-$TIME.tar.gz     # Nama file backup.
08SRCDIR1=/var/www/zabbix                        # Direktori website yang ingin di backup.
09SRCDIR2=/var/lib/mysql/zabbix                  # Database yang ingin di backup terkait zabbix.
10DESDIR=/backup-allweb                          # Direktori sebagai tempat hasil backup.
11tar -cpzf $DESDIR/$FILENAME $SRCDIR1 $SRCDIR2
12 
13#END

4. Chmod file bash script.
1root@webserver : chmod +x /backup-script/backup-zabbix.sh


5. Tes bash script yang sudah dibuat dengan,
1root@webserver: cd /backup-script/backup-zabbix.sh
2root@webserver:/backup-script# ./backup-zabbix.sh
3tar: Removing leading `/' from member names

6. Periksa hasil backup. 
1root@webserver:/# cd backup-allweb
2root@webserver:/backup-allweb# ls
3backup-zabbix-dan-DB-Jun-10-15.tar.gz
4backup-zabbix-dan-DB-Jun-11-15.tar.gz
5backup-zabbix-dan-DB-Jun-12-15.tar.gz

7. Script untuk menghapus [ Remove ] file backup yang lama
1/bin/find /backup-allweb/ -type f -mtime +15 -exec rm -rf {} \;

*Jika ingin 7 hari ganti +15 dengan +7.

8. Jalankan dengan CrontabSelesai
10 18 * * 1,2,3,4,5,6 /bin/find /backup-allweb/ -type f -mtime +15 -exec rm -rf {} \;

N.B. Jika menemui kendala, proses backup tidak berjalan atau hasil backup tidak seperti yang diharapkan maka coba periksa kembali bash script & crontab-nya, terkadang kita kurang teliti.

Semoga Membantu!.

Komentar

Postingan populer dari blog ini

K3 dalam Merakit PC

Xiaomi Xiaoyi Downgrade Firmware