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.
2. Membuat file bash script.
Kemudian, buat file bash script-nya dengan format " nama-bashscript.sh ", dibawah ini saya membuat bash script backup-zabbix.sh.
3. Copy bash script dibawah ini ke dalam file bash scriptnya, dan sesuaikan dahulu konfigurasinya seperti filename, srcdir1, srcdir2, desdir.
4. Chmod file bash script.
5. Tes bash script yang sudah dibuat dengan,
6. Periksa hasil backup.
7. Script untuk menghapus [ Remove ] file backup yang lama.
*Jika ingin 7 hari ganti +15 dengan +7.
8. Jalankan dengan Crontab. Selesai.
Semoga Membantu!.
- 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.
1 | root@webserver: mkdir /backup-allweb |
2 | #atau |
3 | root@webserver: mkdir /tmp/backup-allweb |
4 | #atau |
5 | root@webserver: mkdir /home/bangandi/backup-allweb |
2. Membuat file bash script.
1 | root@webserver: mkdir /backup-script |
2 | #atau |
3 | root@webserver: mkdir /tmp/backup-script |
4 | #atau |
5 | root@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.
1 | root@webserver: nano /backup-script/backup-zabbix.sh |
2 | #atau |
3 | root@webserver: mkdir /tmp/backup-script/backup-zabbix.sh |
4 | #atau |
5 | root@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 |
06 | TIME=`date +%b-%d-%y` |
07 | FILENAME=backup-zabbix-dan-DB-$TIME.tar.gz # Nama file backup. |
08 | SRCDIR1=/var/www/zabbix # Direktori website yang ingin di backup. |
09 | SRCDIR2=/var/lib/mysql/zabbix # Database yang ingin di backup terkait zabbix. |
10 | DESDIR=/backup-allweb # Direktori sebagai tempat hasil backup. |
11 | tar -cpzf $DESDIR/$FILENAME $SRCDIR1 $SRCDIR2 |
12 |
13 | #END |
4. Chmod file bash script.
1 | root@webserver : chmod +x /backup-script/backup-zabbix.sh |
5. Tes bash script yang sudah dibuat dengan,
1 | root@webserver: cd /backup-script/backup-zabbix.sh |
2 | root@webserver:/backup-script# ./backup-zabbix.sh |
3 | tar: Removing leading `/' from member names |
6. Periksa hasil backup.
1 | root@webserver:/# cd backup-allweb |
2 | root@webserver:/backup-allweb# ls |
3 | backup-zabbix-dan-DB-Jun-10-15.tar.gz |
4 | backup-zabbix-dan-DB-Jun-11-15.tar.gz |
5 | backup-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 Crontab. Selesai.
1 | 0 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
Posting Komentar