架构师_程序员

 找回密码
 注册[Register]

QQ登录

只需一步,快速开始

查看: 843|回复: 1

[网站运维] [转载]Linux下网站和数据库定时备份脚本

[复制链接]
发表于 2018-1-10 13:43:57 | 显示全部楼层 |阅读模式
这个脚本好处是尽量使用变量,这样小白就可以根据注释设置自己的服务器了,另外脚本也大量加入注释,方便不了解linux的人使用。
脚本适用于自有服务器和VPS的运维。

脚本源码:

  1. #!/bin/sh
  2. #定义时间,这个是备份的时候输出的当前时间,如上图(P1)
  3. wuyutime=`date -d"0 day ago" +"%Y%m%d"`
  4. ###################quxiand配置信息#######################
  5. #1、网站备份
  6. #备份名称A站,这个是你要设置备份的文件名
  7. bbsname=A站你想备份的名字(源码)(=号后填写)
  8. #备份名称B站,这个是你要设置备份的文件名
  9. weixinname=B站你想备份的名字(源码)(=号后填写)
  10. #网站备份路径,也就是你被备份到什么地方。(默认)
  11. wuyu_back_path=/root/wuyubakauto/1/
  12. #门户网站路径(目标),这里是你要备份的A站在那里
  13. wuyubak=/data/wwwroot/default/*(=号后填写)
  14. #微信网站路径(目标),这里是你要备份的B站在那里
  15. weixinbak=/data/wwwroot/weixin/*(=号后填写)
  16. #注意!!路径一定要再三确认,删除3天前的网站(源码)备份,为了不让备份永无止境的堆积下去,我们删除了3天前的备份(默认)
  17. wuyude=/root/wuyubakauto/5/*
  18. #注意!!路径一定要再三确认,删除3天前数据备份(.sql),为了不让备份永无止境的堆积下去,我们删除了3天前的备份(默认)
  19. dbyude=/root/wuyubakauto/db/5/*
  20. #2、数据库备份
  21. #数据库帐号
  22. dbuser=数据库帐号(=号后填写)
  23. #数据库密码
  24. dbpasswd=数据库密码(=号后填写)
  25. #数据库A站名称
  26. dbbbsname=A站数据库名(=号后填写)
  27. #数据库B站名称
  28. dbweixinname=B站数据库名(=号后填写)
  29. #数据库备份路径(默认)
  30. mysql_back_path=/root/wuyubakauto/db/1/
  31. ###################quxiand配置信息#######################

  32. #3、下面为执行部分(下面可以不用管了,步骤为关闭服务器-备份A站源码和数据-然后到B站-删除3天前备份-启动服务器,如果不需要关闭服务器请注释关闭和启动命令)
  33. #先关闭服务器
  34. service httpd stop

  35. #把/data/wwwroot/目录下的指定目录下文件和指定当前日期然后压缩并备份到/root/wuyubakauto/hjwuyu日期.zip(PS:日期时间如特殊需要可定义多少天之前"0 day ago"范例为当天)
  36. #执行网站A的备份
  37. zip -r -p $wuyu_back_path{$bbsname}$wuyutime.zip $wuyubak
  38. #执行网站A数据库备份,到/root/wuyubakauto/db/1/
  39. /usr/local/mysql/bin/mysqldump -u $dbuser -p$dbpasswd $dbbbsname > $mysql_back_path{$dbbbsname}$wuyutime.sql

  40. #执行网站B的备份
  41. zip -r -p $wuyu_back_path{$weixinname}$wuyutime.zip $weixinbak
  42. #执行网站B数据库备份,到/root/wuyubakauto/db/1/
  43. /usr/local/mysql/bin/mysqldump -u $dbuser -p$dbpasswd $dbweixinname > $mysql_back_path{$dbweixinname}$wuyutime.sql

  44. #注意!!删除3天前备份,此处如果不需要,可以注释掉#
  45. rm -f $wuyude
  46. rm -f $dbyude

  47. #启动服务器
  48. service httpd start

  49. ###########备份所有网站(BBS/微信)和备份所有数据库并删除3天前备份,quxiand/16-12-15写##########


  50. ——————————————end线—
复制代码
这里已经有目录架构了,看看还需要做些什么。

打开终端

1、因为我在阿里用的是Websoft9的镜像,小九用户直接下载脚本附件上传至root目录下,随便改个名字如:111.zip
2、cd /root/
3、unzip 111.zip
4、解压完成后输入crontab -e (如果选项,那么它的意思叫你选一个文本编辑器,vm、nano都可以)
5、复制下面文字到文本中。
50 5 * * 1 sh /root/wuyubakauto/sh/BAK1.sh
50 5 * * 2 sh /root/wuyubakauto/sh/BAK2.sh
50 5 * * 3 sh /root/wuyubakauto/sh/BAK3.sh
50 5 * * 4 sh /root/wuyubakauto/sh/BAK4.sh
50 5 * * 5 sh /root/wuyubakauto/sh/BAK5.sh
50 5 * * 6 sh /root/wuyubakauto/sh/BAK6.sh
50 5 * * 7 sh /root/wuyubakauto/sh/BAK7.sh

(编辑器不会用的话,自己上网查)
我用的是nano编辑器,按Ctrl+O确认保存Ctrl+X退出文本
然后我设置的是每天5:50分自动执行路径下的脚本(请根据自己需要修改,不会的话百度crontab -e)

好了,说明一下自己的架构
ubuntu平台
测试网站根目录:
/data/wwwroot/
微信站
/data/wwwroot/weixin
BBS站
/data/wwwroot/default
脚本目录
/root/wuyubakauto/sh

3306那份脚本是开机自动开放3306端口(Websoft9默认关闭远程3306),默认是不会加载的,不用的话可以删除或放着。无非就是设置一个开机启动。

脚本下载:

游客,如果您要查看本帖隐藏内容请回复





上一篇:自定义C#WPF视频播放器按钮控件
下一篇:Windows7系统+计算机唯一特征码
码农网,只发表在实践过程中,遇到的技术难题,不误导他人。
发表于 2018-2-6 10:46:37 | 显示全部楼层
谢谢分享
码农网,只发表在实践过程中,遇到的技术难题,不误导他人。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册[Register]

本版积分规则

免责声明:
码农网所发布的一切软件、编程资料或者文章仅限用于学习和研究目的;不得将上述内容用于商业或者非法用途,否则,一切后果请用户自负。本站信息来自网络,版权争议与本站无关。您必须在下载后的24个小时之内,从您的电脑中彻底删除上述内容。如果您喜欢该程序,请支持正版软件,购买注册,得到更好的正版服务。

Mail To:help@itsvse.com

QQ|Archiver|手机版|小黑屋|架构师 ( 鲁ICP备14021824号-2 )|网站地图

GMT+8, 2018-6-18 21:18

Powered by Discuz! X3.4

© 2001-2014 Comsenz Inc.

快速回复 返回顶部 返回列表