分享一个网站和数据库每天自动备份sh脚本成品(带教程)

[复制链接]
发表于 2017-11-19 13:04:41 | 显示全部楼层 |阅读模式
别问为什么发帖..痛过。

昨天不小心一个命令删除15天的工作量,像我这么每天工作十几个小时的人,真是伤不起啊。

这是昨天的牢骚(二楼)http://bbs.websoft9.com/forum.ph ... =274&extra=page%3D1

好吧,毕竟也有什么都不会的(看到上面那篇帖子之后更确定),那么我就啰嗦一点吧。详尽教程走起!!

脚本展示(别问为什么这么复杂)
—————————————————————————————————————————————————————线———————————
#!/bin/sh
#定义时间
wuyutime=`date -d"0 day ago" +"%Y%m%d"`
###################quxiand配置信息#######################
#1、网站备份
#备份名称A站
bbsname=A站你想备份的名字(源码)
#备份名称B站
weixinname=B站你想备份的名字(源码)
#网站备份路径
wuyu_back_path=/root/wuyubakauto/1/
#门户网站路径(目标)
wuyubak=/data/wwwroot/default/*
#微信网站路径(目标)
weixinbak=/data/wwwroot/weixin/*
#删除3天前A站
wuyude=/root/wuyubakauto/5/*
#删除3天前B站
dbyude=/root/wuyubakauto/db/5/*
#2、数据库备份
#数据库帐号
dbuser=数据库帐号
#数据库密码
dbpasswd=数据库密码
#数据库A站名称
dbbbsname=A站数据库名
#数据库B站名称
dbweixinname=B站数据库名
#数据库备份路径
mysql_back_path=/root/wuyubakauto/db/1/
###################quxiand配置信息#######################

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

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

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

#删除3天前备份
rm -rf $wuyude
rm -rf $dbyude

#启动服务器
service httpd start

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


————————————————————————————————————————————————————线————————————
这里是双网站的一个微信一个BBS如不需要请用#注释掉不需要的部分,另外备份过程中我关闭了web服务器,删除天数间隔等,你也可以根据自己需要处理。


脚本文件


这里已经有目录架构了
1、小九用户直接下载脚本附件上传至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

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




对了3306那份脚本是开机自动开放3306端口,默认是不会加载的,不用的话可以删除或放着。无非就是设置一个开机启动,要详细的话在留言吧。累了,懒得说了。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

热门版块:
帖子推荐:
图文热帖:
客服咨询

400-1234-5678

服务时间 9:00-22:00

 
QQ在线咨询
售前咨询热线
13435808100
售后服务热线
13435808100
快速回复 返回顶部 返回列表