ezhttp设置定时备份文件和mysql数据库

尽管我们非常小心谨慎地使用和操作数据,但仍然有非常多的因素能导致数据丢失,如服务器断电,网站管理员误操作,黑客入侵破坏数据等。这时候备份就显得尤为重要了。ezhttp提供了简单易用的备份工具,只需要花几分钟的设置就可以配置定时地备份文件和mysql数据库。在开始之前,请先查看ezhttp介绍
首先进入Some Useful Tools -> Backup_setup菜单项。

文件备份

1.备份到本地和远程

文件备份有三个选项:

  • 1) backup files to local
  • 2) backup file to local and remote
  • 3) I don’t want to backup file
  • 第1个选项为只备份文件到本地机器;
    第2个选项为备份文件到本地机器和远程服务器;
    第3个选项则是不备份文件,将进入数据库备份设置。
    这里我们输入2选项备份文件到本地和远程。

    2.选择要备份的目录

    提示”please input the directory you’ll backup(ie./data1 /data2):”时,输入要备份的目录,多个目录以空格分隔,如/home/data1 /home/data2

    3.输入要排除的目录

    输入上一步设置备份的目录中需要排除的文件或目录,支持通配符,多个规则使用空格分隔,如排除zip文件和backup目录,输入*.zip backup/

    4.输入备份文件放置的目录

    输入把文件备份到本机的哪个位置,如输入/data/backup/

    5.要保留本机几天内的备份

    直接回车默认为7天,可以输入14保留14天。

    6.备份频率

    输入备份的频率,1为每天备份(默认),2为每周备份,3为自定义cron表达式,如输入01 04 */2 * *表示每两天的4点钟1分备份。
    如图:
    网站备份

    7.备份脚本位置

    默认为/data/sh。

    8.远程备份设置

    提供有四种备份方法:

  • 1) rsync(with rsync protocol)
  • 2) rsync(with ssh protocol)
  • 3) dropbox
  • 4) ftp
  • 第一种为使用rsync(rsync协议)备份,此方法需要在备份服务器安装rsync服务器;
    第二种为使用rsync(ssh协议)备份,不需要在备份服务器安装rsync服务器,只需要有ssh服务;
    第三种为备份到dropbox,需要注册有dropbox帐号;
    第四种为常见的ftp备份方法。

    rsync(with rsync protocol)

    输入1选择此种远程备份方法。
    1) 本机rsync命令位置
    一般直接回车使用默认的/usr/bin/rsync就行。
    2) 远程rsync服务器地址
    支持输入ip和域名,比如8.8.8.8或devops.webres.wang
    3) 远程rsync服务器端口
    如果安装rsync服务器时没有特别指定,一般直接回车使用默认的873就行。
    4) rsync服务器用户名
    安装rsync服务器设置的用户名,如centos
    5) rsync服务器密码
    安装rsync服务器设置的密码,如passwd
    6) rsync模块名称
    rsync服务器配置文件里设置的模块名。
    如图:
    网站备份

    rsync(with ssh protocol)

    输入2选择此种备份方法。
    1) rsync二进制路径
    默认为/usr/bin/rsync
    2) ssh远程服务器地址
    支持输入ip和域名,比如8.8.8.8或devops.webres.wang
    3) ssh服务器用户名
    默认为root,可以输入一个普通的用户,但要确保其对备份的目录有权限。
    4) ssh用户密码
    输入上面设置的ssh用户的密码
    5) 远程备份目录
    输入把文件备份到远程服务器的哪个目录,如/data/backup
    网站备份

    dropbox

    输入3选择此种备份方法。
    1) 输入备份的位置
    如/data/webres.wang
    2) 输入备份保留天数
    默认为7天。
    如图:
    网站备份
    3) 设置dropbox备份
    此步是在整个备份设置完之后执行,dropbox_uploader.sh脚本默认在/data/sh/目录。
    执行后按脚本提示完成设置。

    数据库备份

    与文件备份一样同样有三个选项:

  • 1) backup mysql database to local
  • 2) backup mysql database to local and remote
  • 3) I don’t want to backup mysql
  • 我们选择2为例。

    1.选择备份工具

    可选有:

  • 1) mysqldump
  • 2) innobackupex
  • mysqldump是我们比较熟悉的备份工具了,是连接mysql服务器导出sql语句并保存到文件;
    innobackupex是基于文件的innodb引擎备份工具,对于备份比较大的数据库会比mysqldump快得多。
    这里我们选择1为例。

    2.mysql二进制目录

    此目录是mysql二进制文件和mysqldump所在目录。默认为/usr/local/mysql/bin/,不过如果mysql是通过包管理器安装的,比如yum或apt,位置应该是在/usr/bin/。
    注意:当想备份在docker中的mysql数据库时,完成所有备份设置后,可以手动更改/data/sh/backup.ini中的mysqlBinDir为docker exec mysql /usr/bin/,其中mysql为mysql容器名称,/usr/bin/为容器内的mysql和mysqldump所在的目录。

    3.mysql服务器地址

    默认为127.0.0.1,我们这里输入localhost,即连接mysql服务器的socket。

    4.mysql服务器端口

    默认为3306

    5.mysql用户

    用来备份的mysql用户,默认为root。可以使用一个普通权限的用户

    6.mysql用户密码

    上面设置备份用的用户的密码。

    7.数据库选择策略

    如果上面的设置正确,将列出目前mysql服务器所有的数据库,并要求输入数据库选择策略,可选为:

  • 1) include specify databases only
  • 2) exclude specify databases from all databases.
  • 3) all databases
  • 1为只备份指定的数据库,2为备份从所有数据库排除指定数据库其余的数据库,3为备份所有数据库。
    这里我们选择3备份所有数据库。

    8.设置存放位置

    设置数据库备份文件存储在本机的目录,默认为/data/backup/mysql

    9.设置备份保留的天数

    默认为7天。

    10.设置备份频率

    默认为每天

    11.设置远程备份

    参考“文件备份”中的“8.远程备份设置”部分。
    网站备份

    相关提示

  • 1.备份设置完成后,将会自动添加定时任务,可以使用crontab -l查看;
  • 2.备份日志在/data/sh/log/,可以查看每天备份状态。
  • ezhttp配置yum或apt仓库镜像

    重新配置yum或apt仓库镜像是为了获取更快的软件安装速度。比如机器默认配置的仓库源为国外的服务器,而我们在国内的服务器使用这个源就会非常的慢,非常地浪费时间。使用ezhttp可以在centos,debian,ubuntu自动配置仓库镜像。在开始之前,请先查看ezhttp介绍

    1.Configure_apt_yum_repository

    进入Some Useful Tools -》 Configure_apt_yum_repository菜单项

    2.选择设置的apt或yum镜像

    目前可选的镜像为:
    1) mirrors.ustc.edu.cn(recommended)
    2) mirrors.sohu.com
    3) mirrors.aliyun.com
    4) mirrors.163.com
    输入对应的数字回车开始设置。如图:
    未分类

    ezhttp统计分析网络流量

    对于线上的服务器,当发现服务器流量比平常大很多,造成了线上服务访问缓慢的问题,这时候我们希望查清为什么会出现这样的问题。我们希望了解流量的分布情况,即服务器上各个端口占用流量多少,哪些客户端IP占用流量最多等。使用ezhttp可以快速地统计出流量的分布情况。在开始之前,请先查看ezhttp介绍
    ezhttp的流量统计分析提供了4个方面的统计:

  • 1) real time traffic.
  • 2) tcp traffic and connection overview.
  • 3) udp traffic overview
  • 4) http request count
  • 第1项为实时流量,显示指定网卡的入站和出站实时流量。
    第2项为统计tcp流量及连接概览。主要显示服务端IP,端口,客户端IP的流量占用情况。
    第3项为udp流量的统计。
    第4项为http请求的统计,将统计http url的请求分布情况。
    下面介绍1,2,4的使用方法。首先先进入Some Useful Tools -》 Network_analysis菜单项。

    real time traffic

    1) 输入1回车选择此实时流量选项
    2) 选择要统计的网卡,输入网卡名称对应的数字
    3) 将实时显示流量速率
    如图:
    未分类

    tcp traffic and connection overview

    1) 输入2选择此选项
    2) 选择要统计的网卡,输入网卡名称对应的数字
    3) 等待10s将显示这10s内的统计信息
    如图:
    未分类

    http request count

    1) 输入4回车选择此选项
    2) 选择要统计的网卡,输入网卡名称对应的数字
    3) 等待10s将显示这10s内的http url统计情况

    ezhttp设置时区和同步时间

    新装好系统的机器,时区和时间可能都是错乱的,这时候第一步得设置正确的时区和时间,否则可能会导致部分程序运行出错。使用ezhttp可以非常容易的设置时区和时间,并定时同步时间。在开始之前,请先查看ezhttp介绍

    1.Set_timezone_and_sync_time

    进入Some Useful Tools -> Set_timezone_and_sync_time菜单项

    2.设置时区

    此时将列出目前的时区和时间,并提示是否要更改时区,如果上面列出的时区正确了,可以输入n跳过此步,否则输入y。
    输入y之后,将进入时区设置流程。如要设置时间为东8区,首先是选择ocean(洋)为Asia,输入对应的数字5。
    接着选择country(国家)China,输入9。
    然后选择一个时区区域,这里选Beijing Time,输入1。
    最后查看设置是否正确,如果正确,输入1,否则输入2返回重新设置。

    3.自动设置同步时间

    完成时区设置之后,ezhttp将自动设置时区和同步时间,并把同步时间命令添加到计划任务中。
    如图:

    ezhttp启用和禁用php扩展

    由于ezhttp编译php时默认把大多数php扩展编译成了共享扩展形式,且没有全部启用,这时可以使用ezhttp来管理这部分扩展。在开始之前,请先查看ezhttp介绍

    1.进入Enable_disable_php_extension菜单项

    进入Some Useful Tools -》 Enable_disable_php_extension菜单项

    2.输入php-config路径

    直接回车使用默认路径/usr/local/php/bin/php-config,可以输入其它的,如/opt/php/bin/php-config

    3.输入要启用或禁用的扩展名

    到此步将列出所有编译为共享扩展的状态,disabled或enabled。输入扩展名称对其进行启用或禁用设置。

    4.最后输入n退出扩展管理

    当提示“do you want to continue enable or disable php extensions[Y/n]:”时,输入n退出扩展管理,将自动重启php。输入y继续管理扩展。
    如图:
    未分类

    ezhttp配置防火墙iptables

    对于在外网的服务器iptables非常的重要,它可以设置网络权限到最小以增强服务器安全性。不过手工配置iptables有点繁琐,且需要记住不少用法。这里我们使用ezhttp来轻松快速地配置iptables。在开始之前,请先查看ezhttp介绍

    进入Iptables_settings菜单选项

    进入Some Useful Tools -》 Iptables_settings

    选择要操作的项目

    有5个选项:

  • 1) clear all record,setting from nothing.
  • 2) add a iptables rule.
  • 3) delete any rule.
  • 4) backup rules and stop iptables.
  • 5) rescore iptables
  • 6) list iptables rules
  • clear all record,setting from nothing

    “clear all record,setting from nothing”,是初始化iptables表,将清空iptables表,设置INPUT和OUTPUT的默认策略为ACCEPT,然后提示输入要开放的端口,多个端口以空格分隔。如图将开放22 80 443端口:
    未分类
    输入端口回车之后将设置INPUT链默认策略为DROP,然后开放输入的端口。
    初始化完成后将提示是否继续设置iptables,y则继续设置,n则退出并保存iptables表到文件。

    add a iptables rule

    在INPUT链添加一条规则。
    1) 选择匹配的协议。
    1为tcp,2为udp,3为所有。直接回车为tcp。
    2) 设置匹配的来源IP
    可以默认单个IP或一个网段,留空直接回车则匹配所有来源IP
    3) 输入匹配的目的端口
    只支持输入一个,如3306。留空直接回车则匹配所有端口。
    4)选择匹配后的行为
    1为ACCEPT,2为DROP。直接回车默认为ACCEPT。如图:
    未分类

    delete any rule

    删除一条指定规则。输入左侧对应的规则序号回车删除此规则。如图:
    未分类

    backup rules and stop iptables

    备份规则到一个文件并清空所有规则。

    rescore iptables

    从文件恢复iptables规则

    ezhttp更改sshd端口

    默认的sshd端口是22,经常会收到来自世界各地的机器的尝试登录请求。为避免留下安全隐患,我们可以使用ezhttp快速地更改端口。在开始之前,请先查看ezhttp介绍

    1.进入Change_sshd_port菜单

    进入Some Useful Tools -> Change_sshd_port菜单

    2.输入新的sshd端口

    将列出目前监听的sshd端口以及sshd_config配置文件中的配置的端口。建议输入大于1024的端口,如26000。
    未分类

    ezhttp设置系统swap

    本文介绍使用ezhttp设置系统的swap。在开始之前,请先查看ezhttp介绍

    1.进入System_swap_settings

    输入2选择Some Useful Tools,再输入1进入System_swap_settings设置。

    2.选择设置swap的大小

    一般设置与物理内存同样大小。

    3.输入swap文件所在的位置

    如果有ssd,建立放置在ssd的目录。默认为/swapfile。
    稍等片刻ezhttp就会自动设置好swap,如图:
    未分类

    ezhttp添加虚拟主机

    本文介绍使用ezhttp的ez命令添加虚拟主机。这里我们以添加lnmp虚拟主机为例,其它类似。在开始之前,请先查看ezhttp介绍

    1.ez vhost add

    在终端执行添加虚拟主机命令:

    1. ez vhost add

    2.输入虚拟主机域名

    多个域名使用空格分隔,如devops.webres.wang webres.wang

    3.设置网站根目录

    默认为/home/{上面的首个的域名},如/home/devops.webres.wang。可以输入其它位置的目录,如/data/devops.webres.wang

    4.选择重写规则

    输入y则选择重写规则,输入n则跳过此步。我们输入y。
    接着将列出可选的重写规则,比如我们使用的是wordpress,则输入wordpress对应的数字2。

    5.是否设置支持php

    如果程序是php程序,输入y,如果全是静态文件,输入n。

    6.是否支持pathinfo

    像thinkphp等的框架可能需要支持pathinfo,这时输入y,否则输入n
    如图:
    未分类

    ezhttp安装php模块

    本文介绍在已经安装有php的机器上安装php模块。在开始之前,请先查看ezhttp介绍

    选择安装php使用的套件

    首先先进入安装php使用的套件,如lnmp。如图:
    未分类

    选择不安装nginx,mysql,php

    因为我们只需要安装php模块,所以我们在提示安装nginx,mysql,php时,直接回车选择不安装。如图:
    未分类

    安装php模块

    1) 输入y安装php模块
    2) 输入php config的路径,默认为{php路径}/bin/php-config,如果php路径为/opt/php,php-config则为/opt/php/bin/php-config。
    3) 将列出可选的php模块,这时输入模块的对应数字,多个数字用空格分隔,如2 4。如图:
    未分类
    后面的提示安装软件直接回车不安装即可。