Rsync+Inotify实现文件分发

Linux内核从2.6.13开始支持inotify。

Inotify可以监控文件系统的读取,修改,创建等状态。(更多信息请参考网上资料)

通过Rsync+Inotify(inotifywati)可以实现文件的批量分发功能。

1 查看linux是否支持inotify

a) 内核至少是2.6.13

uname -r

b) 存在/usr/include/sys/inotify.h,说明支持

c) 查看/proc/sys/fs/inotify/

total 0

-rw-r--r-- 1 root root 0 Jul 17 10:28max_queued_events

-rw-r--r-- 1 root root 0 Jul 17 10:28max_user_instances

-rw-r--r-- 1 root root 0 Jul 17 10:28max_user_watches

有以上3个文件说明支持

2 下载inotify-tools-3.13.tar并安装

tar zxvf inotify-tools-3.13.tar.gz

cd inotify-tools-3.13

./configure

make&&make install

安装完成后会在/usr/local/bin/下生成2个文件:

ls -l /usr/local/bin/inotify*

-rwxr-xr-x 1 root root 38582 Jul 17 10:37/usr/local/bin/inotifywait

-rwxr-xr-x 1 root root 40353 Jul 17 10:37/usr/local/bin/inotifywatch

3 分发服务器server脚本

#!/bin/bash

Host01=ob_web01

HOst02=ob_web02

Src=/data/

Dst01=www01/

Dst02=www02/

User01=tom

User02=tom

/usr/local/bin/inotifywait -mrq -ecreate,modify,delete,attrib $Src |\

while read file

do

rsync -az $Src [email protected]$Host01::$Dst01--password-file=/etc/rsync.password

rsync -az $Src [email protected]$Host02::$Dst02--password-file=/etc/rsync.password

done

4 web01/02服务器将rsync配置rsync-daemon模式(参考http://szcat.blog.51cto.com/665775/1826733)

5 web01/02服务器rsyncd.conf配置文件

################web01###################

uid = rsync

gid = rsync

max connections = 6

timeout = 300

pid file = /var/run/rsync.pid

lock file = /var/run/rsync.lock

log file = /var/log/rsync.log

ignore errors

read only = false

hosts allow = 192.168.1.0/24

list = false

auth users = tom

secrets file /etc/rsync.password

[www01]

path = /www01

comment = web site

auth users = tom

secrets file = /etc/rsync.password

################web02###################

uid = rsync

gid = rsync

max connections = 6

timeout = 300

pid file = /var/run/rsync.pid

lock file = /var/run/rsync.lock

log file = /var/log/rsync.log

ignore errors

read only = false

hosts allow = 192.168.1.0/24

list = false

auth users = tom

secrets file /etc/rsync.password

[www02]

path = /www02

comment = web site

auth users = tom

secrets file = /etc/rsync.password

时间: 2024-10-29 19:11:49

Rsync+Inotify实现文件分发的相关文章

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实现文件防篡改 设计思路 A服务器作为防篡改源服务器,也就是正常的文件服务器 B服务器作为对外开放,也就是WEB目录服务器 同时将A服务器作为网站后台更新内容的服务器 在B服务器上配置好rsync + inotify 触发式实时同步 图例如下: 配置服务器A防篡改系统 安装rsync yum install rsync 配置rsync文件rsyncd.conf 服务器A(防篡改系统rsync配置) vi /etc/rsyncd.conf [test] uid = roo

通过rsync+inotify实现文件的实时备份同步

原文参考:http://ixdba.blog.51cto.com/2895551/580280/ http://www.bamaol.com/Psy/Showposts-010000108-5048.html 一,rsync安装 目前rsync的最新版本是3.0.9 wget http://rsync.samba.org/ftp/rsync/rsync-3.0.9.tar.gz tar-xvzfrsync-3.0.9.tar.gz;cdrsync-3.0.9; ./configure;make;

Rsync+inotify实现文件实时同步

数据备份.文件备份是运维.DBA等岗位最熟悉不过的话题,这里不介绍数据库的备份,简单介绍一下文件同步工具,这样的工具有很多,Windows环境下有Goodsync.FreeFileSync等,Linux下rsync.unison等,常用的实时同步,是几种工具的组合,经过组合的工具达到文件实时同步的效果. 一.常用实时同步方案 1.NFS网络文件系统 该方案是分布式架构中,解决不同节点对同一资源访问的问题,搭建NFS服务器,将其挂载在不同的节点,每个节点将公用的数据存储在NFS服务器上,实现文件的

rsync+inotify实现文件同步

什么是rsync,remote synchronize远程同步简写.Linux系统上由rsync这个软件包提供.rsync有几个特点,镜像保存整个文件目录树或文件系统:有较高的数据传输效率:可以借助ssh实现安全数据传输:支持匿名传输等.rsync同步只是针对变化的文件进行传输,意味着其会在源和目标之间比较文件的异同.相对与scp来说,第一次传输两边都效率都差不多.但以后传输相同目录下的文件时,rsync只传输变化的文件,而非像scp直接覆盖.inotify是linux的一种文件变化通知机制,用

Rsync+Inotify实现文件自动同步

1>rsync概述 rsync的优点与不足 rsync与传统的cp.tar备份方式相比,rsync具有安全性高.备份迅速.支持增量备份等优点,通过rsync可以解决对实时性要求不高的数据备份需求,例如定期的       备份文件服务器数据到远端服务器,对本地磁盘定期做数据镜像等. 随着应用系统规模的不断扩大,对数据的安全性和可靠性也提出的更好的要求,rsync在高端业务      系统中也逐渐暴露出了很多不足,首先,rsync同步数据时,需要扫描所有文件后进行比对,进行差量传输:如果文件数量达到

rsync+inotify实现文件实时同步-步骤详解

实验拓扑(centos7下):192.168.80.181 服务器端(主机名www.aa.com)192.168.80.182 客户端(主机名www.ab.com)1.使用SSH源:安装rsync,服务端和客户端同时安装,只使用客户端命令就OK了.systemctl stop firewalldsetenforce 0yum install -y rsync---以上三句在服务器端和客户端都要执行---------rsync -avz [email protected]:/tmp/ /opt/

基于rsync+inotify实现文件实时同步

rsync英文名remote  synchronization,可使本地和远程两台主机之间的数据快速复制同步镜像 远程备份的功能,rsync在拷贝时候会先比较源数据跟目标数据,不一致才复制,实现增量拷贝 监听于873/tcp rsync有许多选项: -n: 在不确定命令是否能按意愿执行时,务必要事先测试:-n可以完成此功能: -v: --verbose,详细输出模式 -q: --quiet,静默模式 尽可能输出少 -c: --checksum,开启校验功能,强制对文件传输进行校验 -r: --r

rsync+inotify 实现文件夹的自动同步备份

1 配置好rsync 服务器,客户端,见上一篇 192.168.1.10web服务器中/www  备份到 rsync192.168.1.11 /tmp/backup 2 下载安装inotify wget http://github.com/downloads/rvoicilas/inotify-tools/inotify-tools-3.14.tar.gz 解压 ./configure   make make install 3 简介 inotify-tools提供的两个命令行工具: inoti