rsync+inotify实现实时同步更新

rsync

工作模式:

1、单个主机,cp

2、ssh通道,scp

3、守护进程

rsync -avzP /1 /tmp

rsync --delete -r /2/ /1(删除1下的2目录)

rsync /etc/hosts -e ‘ssh -p 52113‘ [email protected]:/

-z:压缩传输

-a:子目录递归

-o:保持文件属主

-p:保持文件权限

-g:保持文件属组

-l:保持链接文件

--exclude:指定不需要传输的文件或文件夹

--exclude-from:

守护进程模式:

vim /etc/rsyncd.conf

添加:

log file=/var/log/rsync.log

pid file=/var/run/rsyncd.pid

use chroot = no

timeout = 300

[test]

path=/tmp/syk/

use chroot=true

max connections=4

read only=no

list=true

uid=root

gid=root

auth users=syk

secrets file=/etc/rsyncd.passwd

创建用户:

groupadd rsync

useradd  -g rsync rsync -s /sbin/nologin

chown -R rsync.rsync /tmp/syk/

rsync --daemon(启动)

cat /etc/rsyncd.passwd

syk:syk123

chmod 600 /etc/rsyncd.passwd

客户端:

yum -y install rsync

echo "syk123" > /etc/rsyncd.passwd

chmod 600 /etc/rsyncd.passwd

测试:

rsync -avz [email protected]_ip::test /tmp

rsync -avz [email protected]_ip::test /tmp --password-file=/etc/rsyncd.passwd

rsync -avz rsync://[email protected]_ip/test /tmp --password-file=/etc/rsyncd.passwd

无差异同步:

--delete

inotify

inotifywait:

-r:递归

-q:打印很好的信息

-exclude:指定不需要监控的文件或文件夹

-e:指定需要监控的事件

access:目录或文件被访问时

nodify:被修改

attrib:属性被修改时

close:文件被封闭

open:被打开

moved_to:被移动其他目录

move:被移动到当前或其他目录

create:被创建

delete:被删除

unmount:被卸载

人工测试监控事件:

./bin/inotifywait -mrq --timefmt ‘%d/%m/%y %H:%M‘ --format ‘%T %w%f‘ -e create /backup

./bin/inotifywait -mrq --timefmt ‘%d/%m/%y %H:%M‘ --format ‘%T %w%f‘ -e create,delete /backup

./bin/inotifywait -mrq  --format ‘%w%f‘ -e create,delete /backup

编写监控脚本:

#/bin/bash

/usr/local/inotify/bin/inotifywait -mrq --format ‘%w%f‘ -e create,delete /tmp/syk/ \

|while read line

do

rsync --delete -az  /tmp/syk/ [email protected]::test --password-file=/etc/rsyncd.passwd >/dev/null 2>&1

done

exit 0

时间: 2024-08-25 08:24:56

rsync+inotify实现实时同步更新的相关文章

rsync的简单介绍及rsync+inotify实现实时同步更新

Rsync的简单介绍及rsync+inotify实现实时同步更新 rsync是类unix系统下的数据镜像备份工具--remotesync.一款快速增量备份工具 Remote Sync,远程同步支持本地复制,或者与其他SSH.rsync主机同步.Rsync是超级进程来管理的,服务端口为873. 特点: 1.可以镜像保存整个目录树或文件系统: 2.有较高的数据传输效率: 3.可借助于SSH实现安全数据传输: 4. 支持匿名传输 工作模式: 1.shell模式,也称作本地模式 2.远程shell模式,

Zabbix监控系列之-Rsync+Inotify实现文件同步更新(无防火墙版)

Rsync+inotify实现文件同步更新(无防火墙版) 目录 说明:... 2 准备工作:关闭服务器的防火墙... 2 关闭防火墙firewall2 禁止开机启动防火墙... 2 编写脚本"shut-firewall.sh". 2 发布服务器配置rsync:192.168.171.128. 2 安装配置Rsync. 2 配置rsyncd.conf文件... 2 创建认证文件:/etc/rsyncd.secrets. 3 设置文件权限... 3 启动rsync服务... 4 关闭rsy

第三十四天-rsync+inotify实现实时同步案例

推荐: Rsync结合Inotify 实时同步配置 rsync+inotify实现实时同步案例 rsync+inotify实现多台服务器之间数据实时同步 Linux下Rsync+Inotify-tools实现数据实时同步

CentOS6.4_64位下搭建Rsync+Inotify实现实时同步

CentOS6.4_64位下搭建Rsync+Inotify实现实时同步 rsync是linux下的文件同步服务,功能简单来说就是服务端打开873端口,客户端连接这个端口,并对服务器端配置的目录进行同步,可以理解为客户端比对服务器端资源后,对增量或者差异的数据进行增删改操作,功能支持上传(推送)或下载(获取)比对,也就是远程数据比对本地数据而后对远程数据进行增删改操作,以及本地数据比对远程数据然后对本地数据进行增删改操作. centos6.4下默认已经安装,只需保证依赖服务xinetd开启即可.

linux rsync +inotify 实现 实时同步

前言:     rsync可以实现触发式的文件同步,但是通过crontab守护进程方式进行触发,同步的数据和实际数据会有差异,而inotify可以监控文件系统的各种变化,当文件有任何变动时,就触发rsync同步,这样刚好解决了同步数据的实时性问题. 一.基本环境 系统:CentOS 2.6.32-220.el6.x86_64软件包版本:rsync-3.0.6-12.el6.x86_64                    inotify-tools-3.14 下载链接:百度   inotify

通过rsync+inotify实现实时同步

需求:web服务器未做存储上的HA,为了保证主备服务器上目录及文件能够实时同步,当主服务器宕机时可快速切换到备服务器上,需将主服务器上的某些目录的文件实时同步到备服务器上 那么我选择了rsync+inotify实现实时同步 首先要了解是从哪台服务器同步到哪台服务器,不能弄反了,尤其是生产系统,且在生产系统中,先做测试目录,如果生产服务器上数据量不大,应先做好备份工作 先说环境 OS:linux rhel6.2 x86_64 192.168.10.72 安装rsync 配置rsync.conf19

实战:配置rsync+inotify实现实时同步备份

实战:配置rsync+inotify实现实时同步 Linux内核从2.6.13版本开始提供了inotify通知接口,用来监控文件系统的各种变化情况,如文件存取.删除.移动等.利用这一机制,可以非常方便地实现文件异动告警.增量备份,并针对目录或文件的变化及时作出响应. 使用rsync工具与inotify机制相结合,可以实现触发式备份(实时同步),只要原始位置的文档发生变化,则立即启动增量备份操作,否则处于静态等侍状态,这样一来,就避免了按固定周期备份进存在的延迟性.周期过密等问题. inotify

rsync+inotify实现实时同步

1.数据同步: A服务器的一个目录同步到B服务器上的一个目录 方法是: 可以在A服务器上把这个目录共享(如ftp,http等),然后B服务器上写shell脚本,用crontab做定时任务下载过来(数据同步不实时) 实时同步 方法是: rsync远程目录实时同步 drbd远程存储实时同步(很老的方案) 共享存储,就是同一个磁盘设备同时被很多人用 分布式存储(云存储) 2.同步.异步和远程同步 sync同步 async异步 rsync 远程同步 这里主要说rsync,在开始之前需要了解以下几个问题:

Rsync+inotify 实现实时同步数据文件

什么是Rsync? rsync可以实现增量备份,配合inotify可以实现时事的数据备份 Rsync的三种工作模式 1)本地备份,相当于 cp 命令 将 /etc/hosts 文件拷贝到 /tmp/ 目录下 rsync -avz /etc/hosts /tmp/ 删除一个目录 先新建一个空目录,然后使用 rsync 命令同步 mkdir /zhao 添加 --delete参数,目录 zhao 为空 rsync --delete /zhao/ /tmp/ 命令解释:以前面的目录为准,前面目录有啥后