sync备份比传统的使用tar备份更加的快速,因为sync只同步不同的文件。 具体操作就是把1T的usb硬盘插入电脑,先分成3个区,第一个区sda1用来备份服务器上的/data1目录,本目录用来存放软件的,第二个分区sda2用来备份服务器上的/data2目录,这个目录是用来存放文档的。第三个分区sda3用来存放sync的日志文件。 下面的脚步就是用来备份一台文件服务器上的文件。当然具体看自己的服务器了,不可直接套用。
- #!/bin/bash
- #Name: backup.sh
- #Version: v0.1
- #Description: this script will backup fileserver's data to usb storage,please copy this backup.sh into /bin
- #Auth: Jarson@gmail.com
- [ $USER = root ]||exit 1
- # test the usb storage
- [ -b /dev/sda ]||exit 1
- # define var
- DOC=/data2
- SOFT=/data1
- DOCBACKUP=/docbackup
- SOFTBACKUP=/softbackup
- DOCLOG=/backuplog/backup-doc-`date +%Y%m`.log
- SOFTLOG=/backuplog/backup-soft-`date +%Y%m`.log
- #check the usb storage filesystem mount stat
- # the partition with sda1,sda2,sda3 in your usb storage
- if (/bin/mount -t ext3|grep softbackup) &>/dev/null
- then
- :
- else
- /bin/mount /dev/sda1 /softbackup
- fi
- if (/bin/mount -t ext3|grep docbackup) &>/dev/null
- then
- :
- else
- /bin/mount /dev/sda2 /docbackup
- fi
- if (/bin/mount -t ext3|grep backuplog) &>/dev/null
- then
- :
- else
- /bin/mount /dev/sda3 /backuplog
- fi
- #backup the /data2
- echo "######################################################">>$DOCLOG
- echo " backup the doc(/data2) at `date +%Y%m%d-%H:%M` ">>$DOCLOG
- echo "######################################################">>$DOCLOG
- /usr/bin/rsync -aEP --stats $DOC $DOCBACKUP >>$DOCLOG
- echo "######################################################">>$DOCLOG
- echo "finish backup the doc at `date +%Y%m%d-%H:%M`">>$DOCLOG
- echo "######################################################">>$DOCLOG
- #backup the /data1
- echo "######################################################">>$SOFTLOG
- echo "backup the soft(/data1) at `date +%Y%m%d-%H:%M` ">>$SOFTLOG
- echo "######################################################">>$SOFTLOG
- /usr/bin/rsync -aEP --stats $SOFT $SOFTBACKUP >>$SOFTLOG
- echo "######################################################">>$SOFTLOG
- echo " finish backup the soft at `date +%Y%m%d-%H:%M` ">>$SOFTLOG
- echo "######################################################">>$SOFTLOG
- clear
- echo "------------------------------------------------------------"
- echo "*_* Finish backup! you can see logs in /backuplog dir! *_*"