rsync+notify实时备份

inotify+rsync实时备份

环境准备

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

简介

  • notify是一种强大的、细粒度的、异步的文件系统事件监控机制,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.74.191
> 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.74.190
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

在这里插入图片描述

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值