BAK 服务器部署

所需软件:
Portmap
Nfs
Rsync

  1. mkdir -p /backup /www                     #创建网站图片、附件存储目录
  2. mkdir -p /backup/data /backup/www

#创建网站备份目录、数据库备份目
以wiki为例:
wiki 程序下的附件、图片目录有 /data/p_w_upload  /uploads
那我们需在BAK服务器上建立这两个文件目录,用NFS共享,

  1. cd  /www/
  2. mkdir -p wiki/uploads wiki/data/p_w_upload
  3. chmod –R 777  www
  4. rpm -qa  portmap nfs                  #查看是否安装,默认是安装的,直接启动即可
  5. service portmap start
  6. chkconfig portmap on
  7. service nfs start
  8. chkconfig nfs on

为LNMP服务器共享目录为可读写:

  1. echo "/www/wiki/uploads/  10.0.10.84(rw,sync,anonuid=1,anongid=1)" >>/etc/exports
  2. echo "/www/wiki/data/p_w_upload/  10.0.10.84(rw,sync,anonuid=1,anongid=1)"  >>/etc/exports
  1. service nfs restart                      #重启NFS服务使其生效

看到上图说明共享成功!!

LNMP上操作

  1. killall nginx                                  #停止WEB服务,防止打包不完整
  2. cd /www/htdocs/wiki
  3. tar zcvf data.tar.gz data/
  4. tar zcvf uploads.tar.gz uploads/
  5. mv data databak
  6. mv uploads uploadsbak
  7. service portmap start                        #启动portmap nfs服务并添加到开机自启动
  8. chkconfig portmap on
  9. service nfs start
  10. chkconfig nfs on
  11. showmount –e 10.0.10.85                   #查看BAK服务器共享的目录
  12. mkdir -p data uploads
  13. mount -t nfs 10.0.10.85:/www/wiki/data ./data            #挂载共享目录到本地
  14. mount -t nfs 10.0.10.85:/www/wiki/uploads ./uploads

上图提示,挂载成功!!
回到BAK服务器上操作

  1. cd /www/wiki/
  2. scp 10.0.10.84:/www/htdocs/wiki/data.tar.gz ./
  3. scp 10.0.10.84:/www/htdocs/wiki/uploads.tar.gz ./
  4. tar zxvf data.tar.gz
  5. tar zxvf uploads.tar.gz

#以上操作是把LNMP上打包的目录拷贝回来,解压到相应目录。

LNMP上操作
用 ls 命令查看,发现目录里都有文件

启动nginx,用浏览器访问 http://wiki.cgzg.net

看到图片都正常显示,即NFS 部署网站附件、图片到BAK服务器成功!!
作为发布程序的BAK服务器,还需有直接发送数据到WEB服务器上的功能,这里使用ssh 无密码登录验证技术实现。

首先在要添加信任关系的每台服务器上修改hosts文件
vi /etc/hosts
在下面添加:
把各服务器的IP和主机名一一对应添加,注意区分大小写


LAMP上操作
建立rsa key

  1. ssh-keygen -t dsa         #直接一路回车
  2. cd /root/.ssh/
  3. mv id_dsa.pub authorized.keys    #修改公钥

BAK上操作
建立rsa key

  1. ssh-keygen -t dsa         #直接一路回车
  2. cd /root/.ssh/
  3. cat id_dsa.pub

把BAK里id_dsa.pub里的密钥复制 到 LAMP的authorized_keys里 即可。
登陆验证

  1. ssh lamp

此时,已经无需输入密码了。

注:关于无密码验证可参考本人另一篇文章:http://www.elain.org/?p=275

LNMP上操作
建立rsa key

  1. ssh-keygen -t dsa         #直接一路回车
  2. cd /root/.ssh/
  3. mv id_dsa.pub authorized.keys    #修改公钥

把BAK里id_dsa.pub里的密钥复制 到 LNMP的authorized_keys里 即可。
在BAK主机上登陆验证
ssh lnmp

其它服务器都依次做即可!
这时发现  bak 既可以登录lamp,又可以登录lnmp
DB 服务器同理操作即可,这里就不一一操作了

MYSQL 数据备份,通常我们在从服务器上备份
在db2上备份3306的数据

  1. mkdir –p /www/data
  2. mysqldump -uroot -p'elain' -S /data/3306/mysql.sock wiki |gzip >/www/data/www_`/bin/date +%Y%m%d%H%M`.sql.gz

在db1上备份3307的数据

  1. mkdir –p /www/data
  2. mysqldump -uroot -p'elain' -S /data/3307/mysql.sock blog |gzip >/www/data/bbs_`/bin/date +%Y%d%m%H%M`.sql.gz

在各DB上做好定时任务
在db1上

  1. crontab –e
  2. 00 04 * * * mysqldump -uroot -p'elain' -S /data/3307/mysql.sock blog |gzip >/www/data/blog_`/bin/date +%Y%d%m%H%M`_.sql.gz

在db2上

  1. 00 04 * * * mysqldump -uroot -p'elain' -S /data/3306/mysql.sock wiki |gzip >/www/data/www_`/bin/date +%Y%m%d%H%M`.sql.gz

接下来就是做定时任务,把备份好的数据按时传送到bak服务器上

  1. rpm -qa |grep rsync                  #检查系统是否安装(默认一般都已安装)
  2. rsync -avzrtopg --delete --progress  web01:/www/data/  /backup/data/mysql/bbs

#对lamp上的MYSQL备份执行增量备份到BAK服务器上

  1. rsync -avzrtopg --delete --progress  web02:/www/data/  /backup/data/mysql/www

#对lnmp上的MYSQL备份执行增量备份到BAK服务器上

做成定时任务为:
在bak服务器上

  1. crontab –e
  2. 30 04 * * *  rsync -avzrtopg --delete --progress  web01:/www/data/  /backup/data/mysql/bbs
  3. 00 05 * * *  rsync -avzrtopg --delete --progress  web02:/www/data/  /backup/data/mysql/www

到此,所有服务器都已经部署完毕,望大家学业有成!
作者:elain         MSN:elain2012@hotmail.com
个人博客:http://www.elain.org
成功中国网   http://www.cgzg.net/
2010年08月27日于北京

转载请注明: 转载自http://www.elain.org

本文链接地址:[跟我学中小企业架构部署]之八:备份服务器部署

转载于:https://blog.51cto.com/elain/729507

[跟我学中小企业架构部署]之八:备份服务器部署相关推荐

  1. [跟我学中小企业架构部署]之一:整体架构设计

    环境定义: CentOS 5.4 64-bit 服务器8台 定义10.0.0.0/24为公网 10.0.10.0/24为内网 各服务器的作用: LB1: Hostname:lb1 ech0: 10.0 ...

  2. [跟我学中小企业架构部署]之三:数据库多实例部署

    DB1  DB2 部署 所需软件: mysql-5.0.56.tar.gz 安装mysql cd /root/tools 创建mysql帐号: groupadd mysql useradd -g my ...

  3. 三层架构与设计模式思想部署企业级数据库业务系统开发

    1. 三层架构介绍 1.1关于架构 架构这个词从它的出现后,就有许许多多的程序员.架构师们激烈地讨论着它的发展,但是架构一词的出现,却是随着三层架构的出现才出现的.当然,目前应用三层架构开发也正是业界 ...

  4. 技术进阶:Kubernetes高级架构与应用状态部署

    在了解Kubernetes应用状态部署前,我们先看看Kubernetes的高级架构,方便更好的理解Kubernetes的状态. Kubernetes 的高级架构 包括应用程序部署模型,服务发现和负载均 ...

  5. 抢疯了!字节、美团《人人都要学的架构思维》完整版PDF开放下载!

    我的朋友"技术领导力"公号作者 老K,他出过两本技术畅销书,做过大型独角兽公司CTO,能文能武,被生活逼得一身才华,是位响当当的行业大佬. 据我所知,老K也是程序员出身,从小厂的J ...

  6. 我要带徒弟学JAVA架构 ( 写架构,非用架构 )

    我要带徒弟学JAVA架构 (写架构,非用架构)     很多人做java开发2,3年后,都会感觉自己遇到瓶颈.什么都会又什么都不会,如何改变困境,为什么很多人写了7,8年还是一个码农,工作中太多被动是 ...

  7. CI Weekly #5 | 微服务架构下的持续部署与交付

    CI Weekly 围绕『 软件工程效率提升』 进行一系列技术内容分享,包括国内外持续集成.持续交付,持续部署.自动化测试. DevOps 等实践教程.工具与资源,以及一些工程师文化相关的程序员 Ti ...

  8. 双服务器架构实战飞桨部署-自动上色和老相片修复

    双服务器架构实战飞桨部署-自动上色和老相片修复 宋 朱熹 <即事有怀寄彦辅仲宗二兄>诗之二:"闻说双飞桨,翩然下广津. 飞桨功能强大,部署非常简单方便(对我这个不熟练的人,并不是 ...

  9. 【逗老师带你学IT】PRTG安装教程-部署简单功能强大的监控软件

    一.PRTG简介 个人总结PRTG的优点: 1.脑残化部署,Windows下直接双击安装,剩下的全靠点点点. 2.脑残化使用,全程点点点即可完成添加加设备.加监控点. 3.强大的性能,支持数万个传感器 ...

最新文章

  1. linux acl 权限 给任何用户或用户组设置任何文件/目录的访问权限
  2. Function Two
  3. iconmobileu驱动设置教_不求人,超简单打印机共享设置!
  4. TCP/IP及内核参数优化调优(转:https://www.cnblogs.com/jking10/p/5472386.html)
  5. msg: ReferenceError: Can't find variable: urchinTracker
  6. 关于SAP云平台的Identity Authentication tenant
  7. python打包加版本信息_使用pyi-set_version为PyInstaller打包出来的程序附加版本信息...
  8. chdir、getcwd、mkdir、rmdir函数
  9. untitled软件怎么用_苹果手机怎么用4G网络于App Store下载超过200MB以上的软件
  10. 港科大郑光廷院士问诊未来,揭露 AI 最新应用与实践
  11. 3d打印机 form3_桌面SLA卖掉5万台后,Formlabs发布新机型Form3和Form 3L
  12. informix mysql,Informix相当于mysql的SHOW CREATE TABLE
  13. LeetCode 654 最大二叉树
  14. 对于C# 中事件的参数(object sender, EventArgs e)
  15. 台达DOP-B触摸屏通过MODBUS RTU通讯4台台达M变频器.含触摸屏程序,接线图和变频器参数设定
  16. 使用Box2dWeb模拟飞行箭矢
  17. 必备技能07:英语中常见的前缀和后缀
  18. vs2015 :“64位调试操作花费的时间比预期要长“,无法运行调试解决办法
  19. 电脑视频加水印软件哪个好?这些软件值得收藏
  20. 什么是MBTI,16种人格类型详解

热门文章

  1. 基于python的图像变换(翻转、平移、缩放、旋转、仿射和透视变换)
  2. Vue小案例 之 商品管理------创建页面与部分数据
  3. 最近在练习爬虫,分享一些简单入门的知识
  4. mxnet实战系列(一)入门与跑mnist数据集
  5. [Leetcode]141. Linked List Cycle
  6. H5学习之旅-H5的表单(11)
  7. ERROR 1071 (42000): Specified key was too long; max key length is 767 bytes
  8. 诗与远方:无题(八十三)- 雪国冷天,心死随魂
  9. mysql忘记密码怎么办?
  10. Spring项目包变文件夹