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 protected] data 15:18:52]#vim /etc/rsyncd.conf 配置/etc/rsyncd.conf

uid = root
gid = root
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
hosts allow = 192.168.0.0/24
[backup]
path = /backup/
comment = backup
read only = no
auth users = rsyncuser
secrets file = /etc/rsync.pass
comment = ftp export area
[[email protected] ~ 14:45:22]#systemctl start rsyncd 开启服务,监听873端口

客户端:
[[email protected] ~ 12:02:50]#echo "123" > /etc/rsync.pass 生成密码文件
[[email protected]6 ~ 15:45:39]#chmod 600 /etc/rsync.pass
[[email protected] ~ 15:45:47]#rsync -avz --password-file=/etc/rsync.pass /data/
[email protected]::backup 同步数据
sending incremental file list
./
ERROR: daemon refused to receive directory "lost+found"
*** Skipping any contents from this failed directory ***
data/

sent 72 bytes received 16 bytes 176.00 bytes/sec
total size is 0 speedup is 0.00
rsync error: some files/attrs were not transferred (see previous errors) (code 23) at main.c(1039) [sender=3.0.6]

结合inotify+rsync实现同步:
[[email protected] ~ 16:08:40]#yum -y install epel-release
[[email protected] ~ 16:08:57]#yum -y install inotify-tools
[[email protected] ~ 16:11:33]#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
#注意:因为ext系统文件系统有lost+found文件夹,所有rsync会同步成功,但命令的执行结果是失败的,所有不会写日志至/var/log/changelist.log中,要想成功,在ext系统文件系统中把&&换成||即可
done

[[email protected] ~ 16:13:53]#./inotify_rsync.sh

在客户端创建文件

服务端几乎瞬间就能够同步

原文地址:https://blog.51cto.com/14233913/2397095

时间: 2024-07-30 22:36:01

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

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

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,也是

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服

rsync+inotify-tools实时同步 步骤

需要在客户端和服务端安装rsync,有些发行版的linux系统是默认安装好的,可用:rpm -qa rsync进行查询 一.服务器端配置(192.168.1.1): 1. 默认rsync是没有配置文件的需要用户自行设置 创建rsync配置文件:vim /etc/rsyncd.conf uid = root           #运行rsync守护进程的用户 gid = root           #运行rsync守护进程的组 use chroot = no      #不使用chroot ma

利用unison+inotify 实现数据双向实时同步

利用unison+inotify 实现数据双向实时同步 环境:Centos 6.5 64位 server1 :192.168.1.201 server2 :192.168.1.250 需求软件:ocaml unison inotify 我这里全是使用yum安装的,若是喜欢使用源码编译安装的可以官网下载源码包. yum install ocaml unison inotify 第一步:保证两台服务器之间可以通过ssh无密码访问,为了安全,需要创建一个普通用户: 两边执行的步骤一样: useradd