inotify+rsync实时备份,inotify+rsync同步备份mysql数据模拟,inotify功能和实现原理,rsync文件实时同步-~@Twang

   日期:2020-10-29     浏览:148    评论:0    
核心提示:inotify+rsync实时备份环境准备简介原理A上操作1、安装EPEL2、安装inotify和rsync服务3、修改rsync的配置文件4、创建目录5、建立rsync用户名和密码文件,加权限6、启动服务,验证端口B上操作7、安装EPEL8、安装inotify和rsync服务9、设置客户端密码文件,修改权限10、编写脚本11、创建目录12、执行脚本13、进入相应的目录,创建文件14、切回到A上查验环境准备centos7两台,关闭防火墙和selinuxA 备份端——192.168.112.153 【服

inotify+rsync实时备份

  • 环境准备
    • 简介
    • 原理
    • A上操作
      • 1、安装EPEL
      • 2、安装inotify和rsync服务
      • 3、修改rsync的配置文件
      • 4、创建目录
      • 5、建立rsync用户名和密码文件,加权限
      • 6、启动服务,验证端口
    • B上操作
      • 7、安装EPEL
      • 8、安装inotify和rsync服务
      • 9、设置客户端密码文件,修改权限
      • 10、编写脚本
      • 11、创建目录
      • 12、执行脚本
      • 13、进入相应的目录,创建文件
      • 14、切回到A上查验

环境准备

centos7两台,关闭防火墙和selinux
A 备份端——192.168.112.153 【服务端】
B 备份源——192.168.112.172【客户端】

简介

  • Inotify 是一种强大的、细粒度的、异步的文件系统事件监控机制,linux内核从2.6.13起,加入了Inotify支持,通过Inotify可以监控文件系统中添加、删除,修改、移动等各种细微事件,利用这个内核接口,第三方软件就可以监控文件系统下文件的各种变化情况,而inotify-tools就是这样的一个第三方软件
  • rsync具有安全性高、备份迅速、支持增量备份等优点,通过rsync可以解决对实时性要求不高的数据备份需求,但是rsync不能实时的去监测、同步数据

原理

  • Inotify只需要要按照部署在同步的客户端,当监控的文件有变化触动 rsync脚本来同步

A上操作

1、安装EPEL

yum -y install epel-release

2、安装inotify和rsync服务

yum -y install inotify-tools rsync

3、修改rsync的配置文件

vim /etc/rsyncd.conf 
uid=root
gid=root
use chroot = no
max connections = 10
strict modes = yes
pid file = /var/run/rsyncd.pid
lock file = /var/run/rsyncd.lock
log file = /var/log/rsyncd.log
[mysqldata]
path = /data/mysqldata
comment = mysql data
ignore errors
read only = no
write only = no
hosts allow = 192.168.112.172
list = false
auth users = rsync_user
secrets file = /etc/rsync.password
  • 注意点:ip写的是B的ip【也就是客户端的ip】,
    还有就是path的路径需要创建!!!

4、创建目录

mkdir -p /data/mysqldata

5、建立rsync用户名和密码文件,加权限

 echo "rsync_user:rsync_user_pwd" > /etc/rsync.password
 chmod -R 600 /etc/rsync.password

6、启动服务,验证端口

rsync --daemon
   netstat -nlpt|grep 873

B上操作

7、安装EPEL

yum -y install epel-release

8、安装inotify和rsync服务

yum -y install inotify-tools rsync

9、设置客户端密码文件,修改权限

echo "rsync_user_pwd" > /etc/rsync.password
chmod -R 600 /etc/rsync.password

10、编写脚本

vim bf.sh
#!/bin/bash
ip=192.168.112.153
src=/data/mysqldata_src/
dst=mysqldata
user=rsync_user
/usr/bin/inotifywait -mrq --timefmt '%d/%m/%y %H:%M' --format '%T %w%f' -e modify,delete,create,attrib ${ src} \
    | while read file
do
rsync -vzrtopg --delete --progress $src $user@$ip::$dst --password-file=/etc/rsync.password > /dev/null && echo "$src was rsyncd"
done
  • 注意点:第6行的路径,yum安装的是/usr/bin/inotifywait
    源码安装的是/usr/local/bin/inotifywait
    还有就是src的路径需要创建!!!
  • 路径验证

11、创建目录

mkdir -p /data/mysqldata_src

12、执行脚本

sh bf.sh

13、进入相应的目录,创建文件

cd /data/mysqldata_src/
 touch aa.txt

14、切回到A上查验

cd /data/mysqldata/
ls

 
打赏
 本文转载自:网络 
所有权利归属于原作者,如文章来源标示错误或侵犯了您的权利请联系微信13520258486
更多>最近资讯中心
更多>最新资讯中心
0相关评论

推荐图文
推荐资讯中心
点击排行
最新信息
新手指南
采购商服务
供应商服务
交易安全
关注我们
手机网站:
新浪微博:
微信关注:

13520258486

周一至周五 9:00-18:00
(其他时间联系在线客服)

24小时在线客服