Chinaunix首页 | 论坛 | 博客
  • 博客访问: 1564443
  • 博文数量: 1481
  • 博客积分: 26784
  • 博客等级: 上将
  • 技术积分: 17045
  • 用 户 组: 普通用户
  • 注册时间: 2011-07-12 09:22
文章分类

全部博文(1481)

文章存档

2014年(10)

2013年(353)

2012年(700)

2011年(418)

分类: LINUX

2012-09-06 09:33:38

功能就是配合crontab自动对网站目录及mysql进行备份
本地一份 ftp一份 邮箱一份
本地及ftp自动删除3天前的
linux上需要sendmail及ftp
如果没有的话可以yum安装一下
使用的时候设置一下自己的信息
  1. #!/bin/bash
  2. #功能:自动备份网站及mysql 自动删除本地及ftp3天前的备份
  3. #更多:
  4. PATH=/bin:/sbin:/usr/bin:/usr/sbin:/usr/local/bin:/usr/local/sbin:~/bin
  5. export PATH
  6. #备份设置
  7. MYSQL_USER=root #mysql用户
  8. MYSQL_PASS=root #mysql密码
  9. WEB_DATA=/home/wwwroot #网站根目录
  10. FTP_IP=127.0.0.1 #远程FTP地址
  11. FTP_USER=backup #远程FTP用户
  12. FTP_PASS=backup #远程FTP密码
  13. FTP_backup=/backup #远程FTP目录
  14. MAIL_TO=backup@gmail.com #接收mysql邮件
  15. #设置备份名及备份目录
  16. DataBakName=Data_$(date +"%Y%m%d").tar.gz #数据库备份名
  17. WebBakName=Web_$(date +%Y%m%d).tar.gz #网站备份名
  18. OldFTPData=Data_$(date -d -3day +"%Y%m%d").tar.gz
  19. OldFTPWeb=Web_$(date -d -3day +"%Y%m%d").tar.gz
  20. OldLOCData=Data_$(date -d -1day +"%Y%m%d").tar.gz
  21. OldLOCWeb=Web_$(date -d -1day +"%Y%m%d").tar.gz
  22. #删除本地之前的备份
  23. rm -rf /home/backup/$OldLOCData
  24. rm -rf /home/backup/$OldLOCWeb
  25. cd /home/backup
  26. #备份mysql
  27. for db in `mysql -u$MYSQL_USER -p$MYSQL_PASS -B -N -e 'SHOW DATABASES' | xargs`;
  28. do
  29. if [ $db != "information_schema" ] && [ $db != "mysql" ];then
  30. (/usr/local/mysql/bin/mysqldump -uroot -pPTcms.com ${db} --skip-lock-tables > ${db}.sql)
  31. fi
  32. done
  33. #压缩打包mysql
  34. tar zcf $DataBakName *.sql
  35. rm -rf *.sql
  36. #压缩打包网站
  37. tar zcf $WebBakName $WEB_DATA
  38. #数据上传至ftp
  39. ftp -v -n $FTP_IP << END
  40. user $FTP_USER $FTP_PASS
  41. type binary
  42. cd $FTP_backup
  43. delete $OldFTPData
  44. delete $OldFTPWeb
  45. put $DataBakName
  46. put $WebBakName
  47. bye
  48. END
  49. #以附件方式把数据发送给邮箱
  50. echo "MySQL Data backup on $(date +"%Y-%m-%d") at $(date +"%T")" | mutt -a /home/backup/$DataBakName -s "MySQL Data Backup $(date +"%Y-%m-%d")" $MAIL_TO

原文地址:

阅读(275) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~