使用sync备份
sync备份比传统的使用tar备份更加的快速,因为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! *_*"
echo "------------------------------------------------------------"
具体操作就是把1T的usb硬盘插入电脑,先分成3个区,第一个区sda1用来备份服务器上的/data1目录,本目录用来存放软件的,第二个分区sda2用来备份服务器上的/data2目录,这个目录是用来存放文档的。第三个分区sda3用来存放sync的日志文件。
将这个脚步放到/bin目录。命名为backup.sh,chmod 755 /bin/backup.sh
然后执行backup.sh即可。
- jarson's blog
- Login or register to post comments

最新回应
10 hours 38 min 之前
13 hours 32 min 之前
1 day 13 hours 之前
2 days 14 hours 之前
4 days 13 hours 之前
6 days 14 hours 之前
1 week 6 hours 之前
1 week 1 day 之前
1 week 2 days 之前
1 week 3 days 之前