首页 > 数据库 >rsync+inotify实现数据库网络实时备份

rsync+inotify实现数据库网络实时备份

时间:2023-02-24 10:06:09浏览次数:42  
标签:rsync inotify 主机 数据库 mysql 备份


           rsync+inotify实现数据库网络实时备份

rsync作为一个单向的备份神器,效率超高,实乃网络备份中的神器。不过,配inotify更强悍哦。inotify是什么东西?实时对比文件之间的差异,并发出通知等事物,从而进行同步的一个软件。在Linux中的yum 就使用了inotify,只是是基于Python的 python-inotify这个软件。rsync和inotify结合,就可以实现自动的实时的稳定备份,数据库也是由一个个文件组成,因此实时的备份数据库是一个不错的选择。

该实验由两台主机构成,一台主机作为rsync的服务器,需要备份的数据库就安装在此主机上。另一台作为数据备份的接受方,只是存储备份的内容。当然了,如果在第二台主机也安装数据库,并将备份指向所安装数据库的数据库位置,那么,也是变相的一个主从复制。第一台主机 IP地址为192.168.0.16,第二台主机地址为192.168.0.17。下面讲解详细配置步骤。

第一台主机192.168.0.16的配置:

安装mysql,安装方式不限定,版本不限定,我是使用的二进制安装,版本为mysql-5.7.19,安装后的目录为 /usr/local/mysql。数据库目录为 /usr/local/mysql/data    并且数据库远程连接权限开放。

执行命令:

yum install https://mirrors.tuna.tsinghua.edu.cn/epel/7/x86_64/Packages/i/inotify-tools-3.14-9.el7.x86_64.rpm -y
yum install https://mirrors.tuna.tsinghua.edu.cn/epel/7/x86_64/Packages/i/inotify-tools-devel-3.14-9.el7.x86_64.rpm -y
yum install rsync -y &&systemctl enable rsyncd && systemctl start rsyncd

yum 安装inotify和rsync,注意一点,inotify-tools和inotify-tools-devel是依赖关系,前者先安装。

 

编辑一个脚本,该脚本功能为启动rsync服务和inotify服务。脚本内容如下:

echo "a=\"inotifywait -mrq -e create,delete,modify /usr/local/mysql/data\"
b=\"rsync -avz /usr/local/mysql/*  [email protected]:/filedes\"
\$a | while read directory event file 
do
\$b
done " >/root/rsync.sh

执行命令,重启rsync服务:systemctl enable rsyncd &&systemctl restart rsyncd

第二台主机192.168.0.17的配置:

执行命令:yum install rsync -y &&mkdir /filedes,配置两台主机的ssh免密登录  ,两个主机的防火墙和selinux都关闭。

systemctl enable rsyncd && systemctl start rsyncd

回到第一个主机,执行第一个脚本 rsync.sh
这时候,如果一切正常,在第一台主机操作数据库,比如新建一个数据库,在第二台主机的 /filedes  目录下会看到所有的数据库文件,可以实时同步了。

 

 

标签:rsync,inotify,主机,数据库,mysql,备份
From: https://blog.51cto.com/u_15966109/6082645

相关文章

  • 物理备份单表还原
    1、把data内数据库(MySQL5.7.26/data)拷贝到另外一台服务器一个文件夹是一个数据库,看是全部拷贝还是单个拷贝都可以 2、 删除数据库下的.ibd(数据文件)和.frm(结构文件),d......
  • 容器中gitlab的备份与恢复
    1.前言目前公司的代码仓库是运行在一台物理服务器上,该服务器信息如下:服务器型号:InspurNF5270M3CPU:Intel(R)Xeon(R)[email protected]:128G磁盘:......
  • Mysql数据库增量备份与恢复
    一、MySQL增量备份概念使用mysqldump进行完全备份,备份的数据中有重复数据,备份时间与恢复时间长。而增量备份就是备份自上一次备份之后增加或改变的文件或内容。1、增量......
  • Mysql数据库完全备份与恢复
    一、数据备份的重要性  在生产环境中,数据的安全性是至关重要的,任何数据的丢失都可能产生严重的后果。造成数据丢失的原因如下:程序错误人为错误运算错误磁盘失败灾难(如......
  • 【KAWAKO】从mac上定时将腾讯云的数据备份到本地
    目录前言需求宝塔面板备份网站备份数据库mac端创建工程文件夹rua.pyruastdoutplistReference前言不信任一切云端平台,把数据牢牢握在自己手中才是最安全的。需求使用腾......
  • mysql备份
    mysql备份1.备份的分类完全备份增量备份差异备份2.备份的方式1,使用专用的备份工具---mysqldump(1)对单个库进行完全备份mysqldump-h[mysql_address]-u[userna......
  • rsync用法详细解释
      提要熟悉rsync的功能及其特点掌握rsync语法及常用选项的功能掌握rsync命令的三种基本使用方法掌握如何筛选rsync的传输目标掌握使用rsync......
  • 使用Python对数据备份文件进行整理
    最近公司上了一个转储服务器,用于存储所有应用系统的数据文件备份,由于每天的备份文件都放在一个固定的文件夹,不需要的文件也会传过来,日后不方便整理,于是便使用Python脚本,将......
  • rsync同步文件
    1.rsync安装yum-yinstallrsync2.基本用法都是-avzp3.1将本地的文件同步到远端服务器rsync-avzpsource/username@remote_host:destination3.2将远端服务器文件同步到......
  • girlab 自动备份 设置
    一、Gitlab的备份目录路径设置Gitlab的备份目录可以在Gitlab的配置文件中设置:配置文件路径:vim/etc/gitlab/gitlab.rb修改如下:gitlab_rails['backup_path']="/va......