设为首页 收藏本站
查看: 700|回复: 0

[经验分享] web服务文件更新自动同步、数据库主从复制、shell脚本实现网站代码备份和mysql备份

[复制链接]
累计签到:2 天
连续签到:1 天
发表于 2016-3-21 10:30:01 | 显示全部楼层 |阅读模式
基搭建LAMP环境,并实践基于DNS做基于域名的虚拟主机中的环境,重新搭建一个同样的环境
要求:
     a)实现web服务文件更新的自动同步到另一台机器上
     b)数据库实现主从复制
     c)通过shell脚本实现网站源代码备份和mysql备份,备份策略包括全量备份、增量备份、差异备份
a,实现web服务文件更新的自动同步到另一台机器上;
  1,在httpd服务器上建立基于FQDN的两个虚拟web站点,并创建相关目录。
                               wKioL1bsDG_B_F6dAACNk5VC8hE050.jpg
wKioL1bsDHywffusAABJqTe2Jws677.jpg
2,修改测试windows主机的hosts文件,并编辑两个虚拟web站点对应的目录下的index.html文件。
wKiom1bsC_mxPi5sAAEwecLVqRE304.jpg




wKiom1bsDAbDyHlfAAA0v2RovGI656.jpg
3,测试两个虚拟web站点均可正常访问。
wKioL1bsDKLR2T0gAAA9XDChNl0972.jpg
wKiom1bsDCLCbVMEAAAz36V2lIk450.jpg

4,在linux2主机上安装samba并启动服务,
samba间接以及安装配置:
    实现的是Linux和Windows间资源互通的问题:在Linux下架设Samba服务器,在Windows下来访问。
  安装配置:
         安装命令: yuminstall  samba  samba-client -y
         服务启动:service nmbstart;service smb start
         服务脚本:
                   /etc/rc.d/init.d/nmb
                   /etc/rc.d/init.d/smb
         主配置文件:
                   /etc/samba/smb.conf
         修改配置文件:将工作组修改为和windows一样WORKGROUP,定义测试共享环境,然后重启服务
             vim smb.conf
                 vorkgroup=WORKGROUP
                 service nmb restart ; service smb restart
wKioL1bsDOKifYDuAABP2N-EFAA584.jpg
QQ截图20160321102111.jpg

QQ截图20160321102121.jpg
QQ截图20160321102152.jpg
使用smbpasswd命令将系统用户smbuser1加入samba用户:
     smbpasswd:
          -a Sys_User: 添加系统用户为samba用户
          -d :禁用
          -e: 启用
          -x: 删除
   wKiom1bsDNzjrfSGAAAtp7VX_ow683.jpg
在另一台centos主机上验证:
   wKioL1bsDXnga0g4AAAi0tUCnEE735.jpg
wKioL1bsDYyAVzwcAABKPrbQVjc525.jpg
在windows主机中验证:
QQ截图20160321102518.jpg
QQ截图20160321102522.jpg

在httpd服务器端(samba客户端)挂载samba共享目录:
      注意:需安装samba-client和cifs-utils程序;否则无法挂载:
        设置SMB共享目录:
vi /etc/samba/smb.conf ,在最后加入想要共享的文件夹:
[share]
               path = /shared
               available = yes
               browsealbe = yes
               public = yes
               writable = yes
        设置SMB用户:
samba的帐户设置有点特别,它使用的是系统的帐户,但是要把账户映射到samba的帐户数据库,而且要设置samba密码才能使用如果该账户只用于samba访问,可以不设置系统密码,而只为账户设置samba的密码
//我使用已有的用户,设置smb用户密码后始终不能成功从远程访问,所以新建了一个系统用户
useradd smbtest
passwd 654321
//设置smb用户的密码
smbpasswd -asmbtest;//增加SMB用户,同时会提示设置密码
smbpasswd –x smbtest;//删除SMB用户
wKioL1bsDffywigZAACnckhcKPw850.jpg
     5,在httpd服务器主机上执行如下命令挂载:
        mount -t cifs -ousername=smbtest,password=654321 //192.168.1.19/shared  /mont
         注意:/mont目录需在本地先创建好。
       wKioL1bsDjHQnYSaAABz_2zQYQw032.jpg wKiom1bsDa2Ry8D0AACWkF08wc4914.jpg

     6,设置自动挂载,并确认在httpd服务器上可用正常自动挂载:
          先设置nmb,smb,httpd开机启动服务:
           chkconfig httpd on
chkconfig nmb on
chkconfig smb on
   //192.168.1.19/shared  /mont cifs  defaults,_netdev,username=smbtest,password=654321,rw 0  0

wKioL1bsDluAyvOOAAHo4TNy3Yw643.jpg


7,在samba服务器(linux2)上共享目录上编辑Index.html文件;
wKioL1bsDmyTXXiXAABBtssX2Ck894.jpg

wKiom1bsDebysrGTAAAqCeQpw8I144.jpg

8,删除vhosts目录下web1和web2目录中htdocs目录,然后将samba共享的挂载目录/mont软连接到web1和web2目录,这样web1和web2两个虚拟站点的文件更新同步至另一台机器。
wKiom1bsDgzyko6uAADSvt-nke0610.jpg
9,通过windows主机访问验证:
QQ截图20160321102542.jpg

b,数据库主从复制:
  MySQL是开源的关系型数据库系统。复制(Replication)是从一台MySQL数据库服务器(主服务器master)复制数据到另一个服务器(从服务器slave)的一个进程。
  服务器IP:192.168.1.19  ,从服务器IP:192.168.1.20
1、编辑数据库配置文件my.cnf,一般在/etc/目录下。
#vi /etc/my.cnf
在[mysqld]的下面加入下面代码:
log_bin=mysql_bin   //[必须]启用二进制日志
server_id=1      //[必须]服务器唯一ID,
2、然后重启MySQL:

QQ截图20160321102548.jpg

3、登录MySQL服务器。
  先变更root帐号密码:
   wKioL1bsDxaTdqEuAAA2QAwg7C8579.jpg
退出mysql后重新登入:
#mysql -uroot -p
在主服务器新建一个用户赋予“REPLICATION SLAVE”的权限。你不需要再赋予其它的权限。在下面的命令, %表示所有的IP。

wKioL1bsD0qSH6z_AAA_srTIxnc954.jpg
4,退出mysql,重启mysql服务后,再次登录mysql查看
wKioL1bsD2rC5dNOAAC5piglJoI986.jpg
    注意:记录下file和pos的值,执行完此步骤后不要再操作主服务器MYSQL,防止主服务器状态值变化
5,修改从服务器/etc/my.cnf文件并启动mysql服务器。
   wKiom1bsDvPTVEtiAABb3mZO1eE554.jpg
6,登录从服务器并修改root密码后退出重新登录;
QQ截图20160321102605.jpg
7,配置从服务器Slave
  mysql>  CHANGE MASTER TO
   -> MASTER_HOST='192.168.3.11',
   -> MASTER_PORT=3306,
   -> MASTER_USER='rep1',
   -> MASTER_PASSWORD='123456',
   -> MASTER_LOG_FILE='mysql_bin.000001', //此处对应主服务器statusfile.
->MASTER_LOG_POS=106; //此处对应主服务器status的Position
配置完成后退出,并重启服务器后再登入mysql。
wKioL1bsD7DjTsrqAABpakvAJHY284.jpg

8、检查从服务器复制功能状态:
QQ截图20160321102612.jpg
  Slave_IO_Running: Yes   //Yes表示连接正常
Slave_SQL_Running: Yes   //Yes表示连接正常

注意:作此配置之前使用了service iptables stop和 setenforce0 命令关闭了防火墙和selinux。
     从服务器复制时,会在其数据目录中发现文件master.info和HOSTNAME-relay-log.info。从服务器使用这两个文件跟踪已经处理了多少主服务器的二进制日志

c,通过shell脚本实现网站源代码备份和mysql备份,备份策略包括全量备份、增量备份、差异备份
   1,先建立好备份存放目录:
     mkdir  /myback/{webback,sqlback}
2,编写脚本备份:
    QQ截图20160321102618.jpg
  3,查看执行目录验证:
       QQ截图20160321102623.jpg




QQ截图20160321100642.jpg
QQ截图20160321100650.jpg
QQ截图20160321100657.jpg
QQ截图20160321100808.jpg
QQ截图20160321102513.jpg

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-193691-1-1.html 上篇帖子: MySQL5.6导入数据时的错误分析 下篇帖子: Linux下mysql数据库损坏恢复 数据库 mysql 网站
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

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