sync备份比传统的使用tar备份更加的快速,因为sync只同步不同的文件。

具体操作就是把1T的usb硬盘插入电脑,先分成3个区,第一个区sda1用来备份服务器上的/data1目录,本目录用来存放软件的,第二个分区sda2用来备份服务器上的/data2目录,这个目录是用来存放文档的。第三个分区sda3用来存放sync的日志文件。

下面的脚步就是用来备份一台文件服务器上的文件。当然具体看自己的服务器了,不可直接套用。

 

  1. #!/bin/bash  
  2. #Name: backup.sh  
  3. #Version: v0.1  
  4. #Description: this script will backup fileserver's data to usb storage,please copy this backup.sh into /bin  
  5. #Auth: Jarson@gmail.com  
  6. [ $USER = root ]||exit 1  
  7. # test the usb storage  
  8. [ -b /dev/sda ]||exit 1  
  9. # define var  
  10. DOC=/data2  
  11. SOFT=/data1  
  12. DOCBACKUP=/docbackup  
  13. SOFTBACKUP=/softbackup  
  14. DOCLOG=/backuplog/backup-doc-`date +%Y%m`.log  
  15. SOFTLOG=/backuplog/backup-soft-`date +%Y%m`.log  
  16. #check the usb storage filesystem mount stat  
  17. # the partition with sda1,sda2,sda3 in your usb storage  
  18. if (/bin/mount -t ext3|grep softbackup) &>/dev/null 
  19.  then 
  20.   :  
  21.   else 
  22.   /bin/mount /dev/sda1 /softbackup  
  23.   fi  
  24. if (/bin/mount -t ext3|grep docbackup) &>/dev/null 
  25. then 
  26.  :  
  27.  else 
  28.  /bin/mount /dev/sda2 /docbackup  
  29.  fi  
  30. if (/bin/mount -t ext3|grep backuplog) &>/dev/null 
  31. then 
  32.  :  
  33.  else 
  34.  /bin/mount /dev/sda3 /backuplog  
  35. fi  
  36. #backup the /data2  
  37. echo "######################################################">>$DOCLOG  
  38. echo "      backup the doc(/data2) at `date +%Y%m%d-%H:%M`  ">>$DOCLOG  
  39. echo "######################################################">>$DOCLOG  
  40. /usr/bin/rsync -aEP --stats $DOC $DOCBACKUP >>$DOCLOG  
  41. echo "######################################################">>$DOCLOG  
  42. echo "finish backup the doc at `date +%Y%m%d-%H:%M`">>$DOCLOG  
  43. echo "######################################################">>$DOCLOG  
  44. #backup the /data1  
  45. echo "######################################################">>$SOFTLOG  
  46. echo "backup the soft(/data1) at `date +%Y%m%d-%H:%M`       ">>$SOFTLOG  
  47. echo "######################################################">>$SOFTLOG  
  48. /usr/bin/rsync -aEP --stats $SOFT $SOFTBACKUP >>$SOFTLOG  
  49. echo "######################################################">>$SOFTLOG  
  50. echo "   finish backup the soft at `date +%Y%m%d-%H:%M`     ">>$SOFTLOG  
  51. echo "######################################################">>$SOFTLOG  
  52. clear  
  53. echo "------------------------------------------------------------" 
  54. echo "*_* Finish backup! you can see logs in /backuplog dir! *_*"