精华内容
下载资源
问答
  • centos6.5环境通过shell脚本备份php的web及mysql数据库并做远程备份容灾 系统:centos6.5 1.创建脚本目录 mkdir -p /usr/local/sh/ 创建备份web文件存放目录 mkdir -p /data/backup/www/ 创建...
    centos6.5环境通过shell脚本备份php的web及mysql数据库并做远程备份容灾


    系统:centos6.5


    1.创建脚本目录
    mkdir -p /usr/local/sh/
    创建备份web文件存放目录
    mkdir -p /data/backup/www/


    创建备份db文件存放目录
    mkdir -p /data/backup/db/


    授权backup用户对所有数据库的操作权限(注意用来备份mysql数据库)
    GRANT ALL PRIVILEGES ON *.* TO 'backup'@'localhost' IDENTIFIED BY 'pass';


    2.编辑备份的脚本文件
    vim /data/scripts/backup-web-db.sh


    #!/bin/bash
    #需备份的站点目录
    Website_Dir1=www.chinasoft.com
    Website_Dir2=www.yayachinasoft.com


    #数据库备份用户名密码
    MYSQL_UserName=backup
    MYSQL_PassWord=pass
    #需要备份的数据名
    Backup_Database_Name1=yunva
    Backup_Database_Name2=yayasdk


    #FTP服务器信息
    FTP_HostName=ftp_ip
    FTP_UserName=web-backup
    FTP_PassWord=pass
    FTP_BackupDir=website-db-backup/yayachinasoft-yayachinasoft/


    #Values Setting END!


    #备份文件名
    TodayWWWBackup=*-$(date +"%Y%m%d").tar.gz
    TodayDBBackup=*-$(date +"%Y%m%d").sql
    OldWWWBackup=*-$(date -d -3day +"%Y%m%d").tar.gz
    OldDBBackup=*-$(date -d -3day +"%Y%m%d").sql


    #备份站点源码
    tar -zcf /data/backup/www/$Website_Dir1--$(date +"%Y%m%d").tar.gz -C /var/www/web $Website_Dir1
    tar -zcf /data/backup/www/$Website_Dir2--$(date +"%Y%m%d").tar.gz -C /var/www/web $Website_Dir2


    #备份数据库
    mysqldump -u$MYSQL_UserName -p$MYSQL_PassWord $Backup_Database_Name1 > /data/backup/db/$Backup_Database_Name1-$(date +"%Y%m%d").sql
    mysqldump -u$MYSQL_UserName -p$MYSQL_PassWord $Backup_Database_Name2 > /data/backup/db/$Backup_Database_Name2-$(date +"%Y%m%d").sql


    #备份配置文件
    #cp /etc/php.ini /tmp/conf/php
    #cp -r /etc/ningx/*  /tmp/conf/nginx


    #删除旧的备份文件
    rm -f /data/backup/www/$OldWWWBackup
    rm -f /data/backup/db/$OldDBBackup


    #上传备份文件夹到FTP服务器
    cd /data/backup/


    lftp $FTP_HostName -u $FTP_UserName,$FTP_PassWord << EOF
    cd /$FTP_BackupDir/www
    mrm $OldWWWBackup
    mput www/$TodayWWWBackup
    cd /$FTP_BackupDir/db/
    mrm $OldDBBackup
    mput db/$TodayDBBackup
    bye
    EOF


    3.添加脚本执行权限
    chmod +x /data/scripts/backup-web-db.sh


    4.添加计划任务:
    每天凌晨2点执行备份任务
    crontab -e


    #backup-web-db
    00 02 * * * /bin/bash /data/scripts/backup-web-db.sh >/dev/null 2>&1


    重启生效
    systemctl restart crond

    公司内部FTP服务;


    调试:
    手动测试ftp是否能够连接
    lftp ftp_ip -u web-backup,pass


    手动调试程序是否正常执行:
    sh -x /data/scripts/backup-web-db.sh


    FTP_HostName=ftp_ip
    FTP_UserName=web-backup
    FTP_PassWord=pass
    FTP_BackupDir=website-db-backup/yayachinasoft-yayachinasoft/
    展开全文
  • 发现一篇介绍虚拟IP容灾的文章,写得还不错,拿出来分享下,原链接:http://blog.zyan.cc/post/379/ 在生产应用中,某台“Nginx+PHP+MySQL”接口数据服务器,扮演的角色十分重要,如果服务器硬件或Nginx、MySQL...

    发现一篇介绍虚拟IP容灾的文章,写得还不错,拿出来分享下,原链接:http://blog.zyan.cc/post/379/

     

    在生产应用中,某台“Nginx+PHP+MySQL”接口数据服务器,扮演的角色十分重要,如果服务器硬件或Nginx、MySQL发生故障,而短时间内无法恢复,后果将非常严重。为了避免单点故障,我设计了此套方案,编写了failover.sh脚本,实现了双机互备、全自动切换,故障转移时间只需几十秒。

      一、双机互备、全自动切换方案:
      1、拓扑图:
      点击在新窗口中浏览此图片

      2、解释:
      (1)、假设外网域名blog.zyan.cc解析到外网虚拟IP 72.249.146.214上,内网hosts设置db10对应内网虚拟IP 192.168.146.214

      (2)、默认情况下,由主机绑定内、外网虚拟IP,备机作为备份,当主机的MySQL、Nginx或服务器出现故障无法访问时,备机会自动接管内、外网虚拟IP。两台服务器都启动负责监控、自动切换虚拟IP的守护进程/usr/bin/nohup /bin/sh /usr/local/webserver/failover/failover.sh 2>&1 > /dev/null &

      (3)、主机和备机上的MySQL服务器互为主从,互相同步。在主机处于活动状态(即由主机绑定虚拟IP)时,读写主机的MySQL,写到主机的数据会同步到备机;在备机处于活动状态时,读写备机的MySQL,写到备机的数据会同步到主机(如果主机上的MySQL死掉暂时无法同步,主机上的MySQL恢复后,数据会自动从备机上同步过来,反之亦然)。

      (4)、主机处于活动状态时,每20秒会把/data0/htdocs/(网页、程序、图片存放目录)、/usr/local/webserver/php/etc/(php.ini等配置文件目录)、/usr/local/webserver/nginx/conf/(Nginx配置文件目录)三个目录下的文件通过rsync推送到备机服务器上的对应目录(增量推送,两台服务器上一样的文件不会重复推送),反之如果备机处于活动状态时,每20秒会尝试把文件推送到主机。rsync的配置文件见两台服务器的/etc/rsyncd.conf,rsync守护进程的启动命令为rsync --daemon

      3、自动切换流程
      (1)、主机默认绑定内、外网虚拟IP,当主机的MySQL、Nginx无法访问或服务器宕机,主机上的failover.sh守护进程会自动摘除自己绑定的内、外网虚拟IP(如果主机上的failover.sh死掉,无法摘除自己绑定的虚拟IP也没关系),备机上的failover.sh守护进程会自动接管备机原来绑定的内、外网虚拟IP,并发送ARPing包给内、外网网关更新MAC,强行接管。

      (2)、备机绑定虚拟IP后,会发送ARPing包给内、外网网关,通知网关更新虚拟IP的MAC地址为备机的MAC地址,从而保证了切换后能够通过虚拟IP及时访问到备机。

      (3)、如果主机的MySQL、Nginx启动起来,全部恢复正常访问,主机上的failover.sh守护进程会检测主机上的MySQL数据是否已经完全从备机上同步过来。如果同步延迟时间为0,主机会自动接管内、外网虚拟IP,并发送ARPing包给内、外网网关,而备机也会自动摘除内、外网虚拟IP。

      (4)、整个切换流程均由failover.sh自动完成,无需人工处理。 

      4、注意事项(很重要):
      (1)、crontab里的文件没有做自动同步,如果修改,需要手工在两台服务器上都做修改。

      (2)、/data0/htdocs/目录内任何用ln -s建立的软连接,rsync不会自动同步,如果在一台服务器上建了软连接,需要手工在另外一台服务器上也建相同的软连接。

      (3)、如果要删除/data0/htdocs/目录内的某些文件或目录,需要先删除处于活动状态(即绑定了虚拟IP)服务器上的文件或目录,再删除处于备用状态服务器上的文件或目录。

      (4)、除了/data0/htdocs/(网页、程序、图片存放目录)、/usr/local/webserver/php/etc/(php.ini等配置文件目录)、/usr/local/webserver/nginx/conf/(Nginx配置文件目录)三个目录之外的其他配置修改,需要在两台服务器上都做修改。

    转载于:https://www.cnblogs.com/derrick/p/4840697.html

    展开全文
  • http://www.itpub.net/forum.php?mod=viewthread&tid=1838200&extra= ...
    http://www.itpub.net/forum.php?mod=viewthread&tid=1838200&extra=

     

    来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/13750068/viewspace-1065838/,如需转载,请注明出处,否则将追究法律责任。

    转载于:http://blog.itpub.net/13750068/viewspace-1065838/

    展开全文
  • 链接:http://www.itpub.net/viewthread.php?tid=923646&extra=page%3D4%26amp%3Bfilter%3Dtype%26amp%3Btypeid%3D1 ...

    链接:http://www.itpub.net/viewthread.php?tid=923646&extra=page%3D4%26amp%3Bfilter%3Dtype%26amp%3Btypeid%3D1

    来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/10805681/viewspace-266488/,如需转载,请注明出处,否则将追究法律责任。

    转载于:http://blog.itpub.net/10805681/viewspace-266488/

    展开全文
  • 链接:http://www.itpub.net/viewthread.php?tid=745219&extra=page%3D4%26amp%3Bfilter%3Dtype%26amp%3Btypeid%3D1 ...
  • PHP行情分析】

    2021-03-25 09:07:06
    本课程除了对TP6.0基础和电商逻辑整体开发进行讲解,还包含了企业级通用解决方案,如:消息队列、redis集群、分布式session解决方案、支付模块服务化、分布式锁、限流、容灾、服务降级、商品抢购、排队机制等高级的...
  • 一名合格的PHP工程师的知识结构是怎样的? 1 http协议2 缓存 与数据库3 php内存分配原理4 ...6 算法与数据结构7 sql 性能分析与优化8 系统容灾、高负载设计 转载于:https://www.cnblogs.com/helloy/p/5802292.html...
  • 八个PHP 高级工程师经典面试题

    千次阅读 2020-06-30 21:10:18
    1.PHP 如何实现不用自带的 cookie 函数为客户端下发 cookie。对于分布式系统,如何来保存 session 值...按我们公司的架构,为了实现高可用和高容灾,提供一个分布式的验签服务。具体的可以看下 redis 的分布式服务架构
  • PHP与Memcache集群

    2014-03-02 11:23:18
    都说Memcached支持集群,其实Memcached本身是集中式存储,... 在PHP中,使用Memcache扩展实现集群是非常简单的,只需要使用addServer方法将Memcached集群服务添加即可,并不需要引入任何负载均衡或容灾软件,但有一...
  • php 分布式数据库

    2020-04-26 14:24:28
    特点:多台数据库服务器轮流对外提供服务,并提供冗余、容灾等基本功能,确保操作不中断。衡量一个MVC框架能不能进行分布式数据库开发,首先需要看MVC中的链接对象能否智能并顺利地切换数据库服务器。 以MYSQL驱动...
  • Linux运维面试-04

    2019-04-19 16:50:27
    写出Linux实时查看日志变化的命令? 写出Linux输出查找到某一个服务(如Java...简单列出如何做容灾与恢复,保证数据安全? 公司是什么样的环境,Java的还是PHP 做过集群,MySQL主从之类的吗? 源码用的是git还是SVN...
  • 关系型:mysql sqlserver Oracle(面向企业,且收费–容灾性强) 非关系型:mongodb 数据库的结构关系 库>表>字段(列)>数据(行) 注意点:utf8 数据库中表的设计原则 1.任何表都应该有一个id字段,并且该...
  • 网盘,又称网络U盘、网络硬盘,是由互联网公司推出的在线存储服务,服务器机房为用户划分一定的磁盘空间,为用户免费或收费提供文件的存储、访问、备份、共享等文件管理等功能,并且拥有高级的世界各地的容灾备份。...
  • LNMP经验分享

    千次阅读 2014-08-22 09:54:00
    由最初的快慢分离和简单容灾,增强容灾和提供灰度发布能力,逐渐抽取统一数据层/减少无用请求,强化多set模型和立体监控,到最后统一数据存储。最终演变为:DNS+GSLB+LVS/TGW+业务逻辑机(Nginx+php-fpm+APC)+中间...
  • Thinkphp5.0 session 分布式部署

    千次阅读 2017-10-31 15:44:05
    要实现的功能 :部署高可用web服务 项目架构图: ...在一个集群中部署2套web_...数据库采用主主同步方式,利用keepalived做容灾处理。 一、 web_server 使用PHP语言,利用TP5.0框架。 application\config.php
  • 昨晚线上出故障,紧急处理切换容灾后缓解了故障,解决故障后从容灾切换回正式服务时发现PHP文件更新无效,重启FPM后才生效。下面记录复盘追查的过程。 因为是PHP文件更新不生效,所以马上怀疑到opcache上面,到线上...
  • session不能保存的问题

    2013-01-06 14:33:57
    最近在搭建机房容灾账号系统的集群,线上跑的集群LNMP的环境是源码编译安装的,新集群的环境我是yum安装,新集群跑程序员的代码就是不行,最后查出问题是session不能保存, 用测试代码测试: vi a.php <?php ...
  • 任务名称 deps也提供了初的容灾实现方案,所以printf"The last one is NO.dn",p以让读者能看个明白.  排序shuffle and sort后再分发至reduce节点在kd树中进行数据的查找也是特征匹配的重要环节,如果要操作它得...
  • 海量并发下分散请求,减轻服务压力,分布式部署,容灾,解决单点问题,端口复用节约服务器资源 硬件负载均衡成本较高,设备维护较为复杂,稳定性高 nginx haproxy lvs(piranha) php+fastcgi,modjk+tomcat 软件负责...
  • 这一篇对后续的一些尾巴来学习下,包括 CLUSTER * 一系列命令,以及容灾性的数据迁移,以及在php的使用。cluster命令redis 有很多命令,同意,加入到cluster后,也有一些列的命令,现在一一来看下 (h
  • 管理工具层 : 备份,容灾恢复,安全,复制,集群等 sql接口 : 存储过程,视图触发器等 解析层 : 查询事务,对象(语句)权限等,将语句重组解析 优化层 : 对用户写的sql进行优化;极端情况下,不一定符合用户的需求 缓存/缓冲...
  • 在分布式程序架构中,如果我们需要整个体系有更高的稳定性,能够对进程容灾或者动态扩容提供支持,那么最难解决的问题,就是每个进程中的内存状态。因为进程一旦毁灭,内存中的状态会消失,这就很难不影响提供的服务...
  • 5.2.2 企业案例:搭建远程容灾备份系统 5.3 通过rsync+inotify实现数据的实时备份 5.3.1 rsync的优点与不足 5.3.2 初识inotify 5.3.3 安装inotify工具inotify-tools 5.3.4 inotify相关参数 5.3.5 ...
  • 一开始,公司业务故障,可能是因为基础环境不一致、依赖不一致、端口冲突等等问题,现在实现Docker镜像部署,k8s编排,所有的依赖、基础都是一样的,并且环境的自动化扩容、健康检查、容灾、恢复都是全自动的,大大...
  • Mysql的整体架构

    2021-05-15 01:06:59
    了解MySql必须牢牢记住其... Utilities: 系统管理和控制工具,备份、容灾恢复、集群等 3、Connection Pool: 连接池 管理缓冲用户连接,线程处理等需要缓存的需求。 4、SQL Interface: SQL接口 接受用户的SQL命令

空空如也

空空如也

1 2
收藏数 28
精华内容 11
关键字:

php容灾