centos7 inotify与rsync实现实时同步服务搭建


**需要准备两台虚拟机
一台rsync的客户端 192.168.1.14
一台rsync的服务器 192.168.1.12

inotify的服务器配置

yum install inotify-tools
192.168.1.14由于inotify是内核级别的应用,我们不能直接操作内核 需要借用一些关于inotify的相关工具

inotifywa /data/
监控此目录 一次性操作,复制ssh渠道 在复制渠道/data目录下进行增删改查的操作 观察监控窗口的变化

inotifywait -mrq /data/
持续递归监控此目录,-m持续 -q输出主要信息 -r 递归;复制ssh渠道 在复制渠道/data目录下进行增删改查的操作 观察监控窗口的变化

inotifywait -o /root/intify.log -drq /data/
以进程方式递归监控/data目录,输出的主要信息到/root下的intify.log日志里面 ,-d以进程方式执行
-o+文件路径 ;指定输出的信息到指定文件下,复制ssh渠道 在监控窗口下进行增删改查的操作 在复制渠道的 /root/intify.log这个日志中观察变化

inotifywait -mrq --timefmt "%Y-%m-%d %H:%M" --format "%T %w%f event: %;e" /data/ -e CREATE,MOVED_TO,DELETE,ATTRIB
只监控指定操作的类型时间 -e+事件的类型;监控事件类型的内容复制ssh渠道 在复制渠道/data目录下进行增删改查的操作 观察监控窗口的变化,

rsync服务器的搭建,独立端口为873

mkdir /backup
在192.168.1.12建一个目录,测试与对端主机的目录事件同步

vim /etc/rsyncd.conf
use chroot = no
max connections = 0
ignore errors
exclude = lost+found/
log file = /var/log/rsyncd.log
pid file = /var/run/rsyncd.pid
lock file = /var/run/rsyncd.lock
reverse lookup = no
hosrs allow = 192.168.1.0/24
[backup]
path = /backup/
comment = backup
read only = no
auth users =rsyncuser
secrets file = /etc/rsync.pass
在192.168.1.12rsync服务器端写入配置
此配置注释
1,2 行为指定以谁的身份运行
3 行为,是否支持 切根
4 行为,是否限制他的并发连接数 0为 不限制
5 行为 如果错误,做忽略错误执行
6 行为指定的类型文件夹直接过滤 不做备份
7,8,9 行为 日志 id 锁文件的备份路径
10 行为涉及到 ip 地址是否反向解析 为提高效率 设定no为不解析
11 行为控制访问用户的范围
12 行为rsync要把同步过来的数据存放的目录名字
13 行为指定同步过来的数据存放的path路径
14 行为存放同步文件夹的说明
15 行为存放同步文件夹的权限
16 行为对方连接rsync的用户名
17 行为对方连接rsync的口令存放的路径
注意;账号密码需要事先写好,同步过来的数据存放的文件夹也需要事先准备好

echo "rsyncuser:magedu" > /etc/rsync.pass
chmod 600 /etc/rsync.pass
在192.168.1.12编写其他用户连接rsync服务器的账号与密码 并且把它放到一个指定文件里 注意设置600权限避免被其他人看到

systemctl start rsyncd
启动服务

echo "magedu" > /etc/rsync.pass
chmod 600 /etc/rsync.pass
rsync -avz --password-file=/etc/rsync.pass /data/ [email protected]::backup
在192.168.1.14 inotify客户端的的操作;配置客户端的密码文件, 并且测试是否同步成功

vim inotify_rsync.sh
#!/bin/bash
SRC=‘/data/‘
DEST=‘[email protected]::backup‘
inotifywait -mrq --timefmt ‘%Y-%m-%d %H:%M‘ --format ‘%T %w %f‘ -e create,delete,moved_to,close_write,attrib ${SRC} |
while read DATE TIME DIR FILE;do
FILEPATH=${DIR}${FILE}
rsync -az --delete --password-file=/etc/rsync.pass $SRC $DEST && echo "At ${TIME} on ${DATE}, file $FILEPATH was backuped up via rsync" >> /var/log/changelist.log
done
这是一个关于数据同步的无限死循环的脚本,需要在192.168.1.14 inotify一端编写执行

rm -rf /data/*
touch /data/f{1..6}
在192.168.1.14最后测试数据是否可以同步
**```

原文地址:https://blog.51cto.com/14234525/2396910

时间: 2024-10-22 12:16:56

centos7 inotify与rsync实现实时同步服务搭建的相关文章

20190308 samba服务、inotify和rsync实现实时同步、防火墙

Samba服务[root@centos7 ~]#yum install samba[root@centos7 ~]#systemctl start smb[root@centos7 ~]#ss -ntluNetid State Recv-Q Send-Q Local Address:Port Peer Address:Port tcp LISTEN 0 50 :139 : tcp LISTEN 0 50 :445 端口已开启 : 可以做共享了. 主配置文件:/etc/samba/smb.conf

inotify和rsync实现实时同步

inotify和rsync实现实时同步首先先用两台主机实现rsyncc同步服务端:[[email protected] data 14:20:35]#echo "rsyncuser:123" > /etc/rsync.pass 生成验证文件[[email protected] data 14:21:13]#chmod 600 /etc/rsync.pass [[email protected] data 14:21:19]#mkdir /backup 准备目录[[email pr

Centos6.5下的rsync远程文件同步服务搭建

以下为本人的安装过程 一.服务器端的安装 1.系统环境     服务端:centos6.5出厂环境(系统安装时为默认设置),IP:192.168.10.185     客户端:远程登录终端xshell5或securecrt(具体安装和使用方法,请自行查询),             IP:192.168.10.186 2.安装Rsync     通过终端(此处是xshell)登录系统192.168.10.185     rpm -qa|grep rsync*  //查看当前是否已安装此服务,若有

rsync+inotify 实现服务器文件实时同步

rsync+inotify 实现服务器文件实时同步 操作系统:CentOS 6.X 源服务器:192.168.80.132 目标服务器:192.168.80.128 目的:把源服务器上/data/app目录实时同步到目标服务器的/data/app下 具体操作: 第一部分:在目标服务器192.168.80.128上操作 一.在目标服务器安装Rsync服务端 1.关闭SELINUX vi /etc/selinux/config #SELINUX=enforcing #SELINUXTYPE=targ

rsync+inotify-tools实时同步模式

关于rsync+inotify-tools实时同步模式 介绍同步模式 左边是原来的,一般的rsync的cs架构(client & server)同步模式,数据源服务器上安装rsync server,由server统一控制可以传输的数据的内容,例如权限,目录,文件数等,发起传输的是rsync client,即看起来就是将数据从源服务器拉取到备份服务器. 右边的是加上inotify-tools的同步模式,在数据源服务器上安装rsync client,在备份源服务器上安装rsync server,也是

实时同步服务知识梳理

01.为什么要使用实时同步服务 a-因为定时任务有缺陷,-一分钟以内的数据无法进行同步,容易造成数据丢失; b-用户上传数据信息需要实时备份保存. 实时同步实现及工作原理. 01. 实时监控同步数据目录信息变化; 02. 监控目录发生变化进行数据推送. 实时同步监控服务器部署过程,(inotify服务); 实时同步备份服务器部署过程(rsync服务) a.创建要存储数据的目录; b.利用实时同步的软件监控我们进行备份的数据目录 c利用rsync服务进行数据推送传输备份(一般是监控存储服务器上的目

linux rsync远程同步+sersync+rsync实现实时同步

rsync是什么 rsync全称Remote Sync ,远程同步,是Linux/UNIX系统下的文件同步和数据传输工具,数据备份,它采用了"rsync算法"使一个客户机和远程文件服务器之间的文件同步. 作用 可以将同一个服务器的数据从一个分区备份到另一个分区,也可以将本地系统的数据通过网络传输方式备份到任何一个远程主机上: 优点 rsync可以在中断后恢复传输 rsync的功能特性 可以镜像保存整个目录树和文件系统:可以增量同步数据,文件传输效率高,因而同步时间很短:可以保持原文件的

Rsync + sersync 实时同步备份

Rsync + sersync 实时同步备份 一      Rsync + Sersync  实时同步介绍 1.Rsync 服务搭建介绍 云机上搭建Rsync server,在本地搭建Rsync Clinet. 2. Sersync 服务搭建介绍 在本地服务器上搭建 Sersync  Server  检测本地的ftp目录变化,实时同步到云机上 二.Rsync编译安装 1.检查本机是否存在 [[email protected]云机 ~]# rpm -qa  rsync rsync-3.0.6-12

rsync nfs 实时同步,结合实战

目录 rsync nfs 实时同步,实战 一.部署rsync服务端(backup) 二.部署rsync客户端(nfs,web01) 三.部署web代码(web01) 四.NFS服务端部署(nfs) 五.部署nfs备胎服务端(nfs) 六.部署nfs的客户端web01(web01) 七.backup实时同步nfs的data目录 八.定时任务并发邮件 九.NFS服务端部署sersync实时同步(nfs) 十.切换备胎backup(web01) rsync nfs 实时同步,实战 一.部署rsync服