本帖最后由 ruixunidc 于 2014-5-13 11:07 编辑

本脚本特色:
1.纯zip压缩,1-9可自行调整压缩率
2.整台VPS备份,还原方便,非常适合站群
3.加入压缩密码,可以自己设置
4.加入绑域名信息伪静态压缩,防止伪静态弄丢
5.请确保在home目录下有backup目录,如果没有请执行 mkdir /home/backup

【脚本开始】

  1. #!/bin/bash
  2. #下面的参数是你要修改的
  3. MYSQL_USER=root                             #mysql用户名
  4. MYSQL_PASS=mysql密码                      #mysql密码
  5. FTP_USER=FTP用户名                              #ftp用户名
  6. FTP_PASS=FTP密码                         #ftp密码
  7. FTP_IP=FTP地址                          #ftp地址
  8. FTP_backup=FTP目录                          #ftp上存放备份文件的目录,这个要自己得ftp上面建的
  9. WEB_DATA=/home/wwwroot/                          #要备份的网站数据
  10. WEB_BANGMI=/usr/local/nginx/conf/                          #要备份的绑域名信息
  11. WEB_MULU=/home/backup                    #备份文件存放目录
  12. WEB_MIMA=zhujima                    #备份时候的密码
  13. WEB_YASUOLV=1                               #压缩率 1-9 如果VPS没有zip,请安装zip
  14. #上面是你要修改的地方
  15. #删除淘宝客缓存,属于自定义设置。可自行操作
  16. #rm -rf /home/wwwroot/1.com/Apicache/*
  17. #定义数据库的名字和旧数据库的名字
  18. DataBakName=Data_$(date +"%Y%m%d").zip       #定义数据库名字
  19. WebBakName=Web_$(date +%Y%m%d).zip           #定义备份网站名字
  20. BANGMI=BANGMI_$(date +%Y%m%d).zip            #定义绑域名备份名字
  21. OldData=Data_$(date -d -5day +"%Y%m%d").zip  #定义5天前数据库名字
  22. OldWeb=Web_$(date -d -5day +"%Y%m%d").zip    #定义5天前网站名字
  23. BANGMIshan=BANGMI_$(date -d -5day +"%Y%m%d").zip   #定义5天前绑域名名字
  24. #删除本地3天前的数据
  25. rm -rf $WEB_MULU/Data_$(date -d -3day +"%Y%m%d").zip $WEB_MULU/Web_$(date -d -3day +"%Y%m%d").zip $WEB_MULU/BANGMI_$(date -d -3day +"%Y%m%d").zip
  26. #导出全部数据库
  27. cd $WEB_MULU
  28. /usr/local/mysql/bin/mysqldump -u$MYSQL_USER -p$MYSQL_PASS –all-databases > $(date +"%Y%m%d").sql
  29. #压缩数据库文件为一个文件
  30. zip -r -$WEB_YASUOLV -P $WEB_MIMA $DataBakName $WEB_MULU/*.sql
  31. rm -rf $WEB_MULU/*.sql
  32. #压缩网站数据
  33. cd $WEB_DATA
  34. zip -r -$WEB_YASUOLV -P $WEB_MIMA $WebBakName ./*
  35. mv $WebBakName $WEB_MULU/$WebBakName
  36. cd $WEB_MULU
  37. #压缩绑域名信息
  38. cd $WEB_BANGMI #进入绑域名目录
  39. zip -r -$WEB_YASUOLV -P $WEB_MIMA $BANGMI ./*
  40. mv $BANGMI $WEB_MULU/$BANGMI
  41. #上传到FTP空间,删除FTP空间5天前的数据
  42. cd $WEB_MULU #进入备份目录
  43. ftp -v -n $FTP_IP << END
  44. user $FTP_USER $FTP_PASS
  45. type binary
  46. cd $FTP_backup
  47. delete $BANGMIshan
  48. delete $OldData
  49. delete $OldWeb
  50. put $DataBakName
  51. put $WebBakName
  52. put $BANGMI
  53. bye
  54. END

复制代码

加入权限,写入定时执行

chmod 777 /root/beifen.sh

crontab -e

30 04 * * * /root/beifen.sh

注:每天04:30开始备份并且上传FTP

发表评论

电子邮件地址不会被公开。 必填项已用*标注