CentOS 6.5 inotify+rsync 部署

Rsync是一款远程同步软件,在同步文件(文件和目录)的时候可以保持原文件的权限、修改时间、包括链接文件也可以同步。

这个东西应用在什么地方呢?不管你是什么业务,如果你有几十台以上的服务器,并且这些服务器需要实时保持拥有的文件一致,那你就会用到这个工具。比如你有几十台web服务器,网页文件会经常修改,如何批量同步这些新的网页文件到所有服务器上呢?

Inotify又是什么呢?它是一种通知机制,随着时间的推移,你的原文件夹可能越来越大,如果每次同步都把整个目录扫描一遍那简直不敢想象,inotify就是内核提供的一种功能,可以实现对目录的监控,如果该目录有任何文件的删除、修改、新建它都会捕捉到这一动作,并可以把这一事件发送给其他应用程序。

主机名 IP 说明
Linux01.localhost 10.10.6.12
Linux02.localhost 10.10.6.15 运行rsync守护进程,作为Server端,接收推送。

安装Rsync

实现原理:

rsync采用的是C/S结构,不过S端是服务器端,运行rsync的守护进程,C端通过命令来向S端推送文件。

安装:

rpm -qa rsync    #检查是安装了rsync
rpm -e rsync     #如果安装了,那么就删除,系统自带的版本比较低
wget https://download.samba.org/pub/rsync/rsync-3.1.2.tar.gz --no-check-certificate

tar -xzf rsync-3.1.2.tar.gz
cd rsync-3.1.2
./configure --prefix=/usr/local/rsync --disable-ipv6

如果不指定安装目录,则默认会安装到如下目录中:

make && make install

设置账户和目录:

groupadd -r rsync                         #创建rsync系统组
useradd -g rsync rsync -r -s /sbin/login  #创建rsync系统账号并加入到rsync组

mkdir backup                #创建用于接收推送文件的目录
chown rsync.rsync ./backup  #设置改目录的属主和属组位rsync

编辑配置文件:编译安装后它使用的配置文件默认位置为/etc/rsyncd.conf,但是默认这个文件并不存在,需要你手动建立。

touch /etc/rsyncd.conf    #守护进程使用的配置文件,必须是rsyncd.conf
touch /etc/rsyncd.passwd  #用户名和密码文件,这个名字可以随便
chmod 600 /etc/rsyncd.passwd #修改密码文件权限

vim /etc/rsyncd.conf   #编辑配置文件
#[全局配置]
# 服务器IP和监听端口号
address = 10.10.6.15
port = 873
# 服务器传输文件时发给哪个用户和哪个组来执行。
pid = rsync
gid = rsync
# 在文件传输之前,服务器守护进程将chroot到指定的PATH,优点是实时特殊的保护,缺点是需要roo# t权限
use chroot = no
# 最大并发数
max connection = 10
# 超时时长
timeout = 300
# 锁、日志和pid文件位置
lock file = /var/run/rsync.lock
log file = /var/run/rsync.log
pid file = /var/run/rsync.pid
# 消息文件,当客户端连接到服务器是该文件的内容将会显示给客户端
motd file = /etc/rsyncd.mod
# 存放虚拟用户和密码的文件
secrets file = /etc/rsyncd.passwd
# 允许的网段
hosts allow = *
# 不允许的网段
#hosts deny = 0.0.0.0/32
# 是否允许客户上传文件,true不允许,false允许。
read only = false

#[模块配置],所谓模块配置其实就是要使用的目录,客户端推送文件到服务器端的哪个目录
# 需要接收同步的目录
path = /usr/local/backup
# 是否忽略错误
ignore errors
list = false
# 虚拟的用户,也就是客户端用那个用户来连接服务器,可以用空格或者逗号分隔多个用户,该用户
# 必须在上面secrets file = /etc/rsyncd.passwd文件中
auth users = rsync_backup
# 该模块的描述,客户端连接后会显示给客户端
commment = hello

rsync可以以守护进程的方式运行,也可以由xinetd来激活,如果你的服务器负载比较高建议rsync以独立的守护进程方式来运行。区别在于,如果以独立的守护进程方式运行,它会一直监听端口随时准备接受文件推送,如果由xinetd这个超级进程来管理的话,那没有推送的时候rsync是休眠状态,当有推送的时候,由xinetd这个超级进程激活rsync,对于繁忙的服务器来说这种方式会有额外开销。

时间: 2024-12-22 08:03:13

CentOS 6.5 inotify+rsync 部署的相关文章

CentOS 6.5 inotify+rsync做实时同步-企业实例(1.0)

inotify+rsync实时同步起源及简介 inotify服务机制 inotify实施准备 inotify配置是建立在rsync服务的基础上 inotify,sersync,lsyncd sersync功能更多,可以做各种过滤,但从性能上看,通过测试得出inotify性能更高,每秒钟能同步好几百张图片,inotify 150张就不能实时了 实施前检查rsync daemon是正常 [[email protected] oldboy]# ps -ef |grep daemon root     

centos 7配置inotify+rsync实时同步

Linux内核提供了inotify通知接口,用来监控文件系统的各种变化情况,如文件存取.删除.移动.修改等.利用这个机制,可以非常方便地实现文件异动告警.增量备份,并针对目录或文件的变化及时作出响应. 将inotify机制和rsync工具相结合,可以实现触发式备份(实时同步)--只要原始位置的文档发生变化,则立即启动增量备份操作,否则处于静默状态,这样,避免了周期性备份时存在的延迟性.周期过密等问题. 在Linux内核中,默认的inotify机制提供了三个调控参数: [[email protec

inotify+rsync及sersync部署流程

inotify+rsync部署流程: 第一步:完成部署rsync守护进程服务 第二步:确认inotify软件是否安装扩展yum源(扩展的仓库):epel(企业级linux的yum源的扩展仓库)? 阿里云epel源:通过访问阿里yum源镜像地址获取? 直接安装epel源方式:yum install epel-releaseyum install inotify-tools -y/usr/bin/inotifywait --- 开启实时监控服务,监控目录或文件的数据变化/usr/bin/inotif

inotify +rsync 实时同步

1.1 inotify简介 inotify是一种强大的,细粒度的,异步的文件系统时间监控机制,Linux内核从2.6.13加入了inotify支持,通过inotify可以监控文件系统汇中添加,删除,修改,移动等各种事件,利用这个内核接口,第三方软件就可以监控文件系统下文件的各种变化情况,而inotify-tools正式实施这样的监控的软件,国人周洋在金山公司开发了类似的实时同步软件sersync. 1.1.1 安装inotify 在安装inotify-tools前请先确认你的Linux内核是否达

linux inotify+rsync

一.系统环境: centos 6.5_64 更新源服务器:192.168.10.11 目的服务器:192.168.10.10 二.目的服务器配置:192.168.10.10 (rsync服务端): 1.检查rsync是否安装 rpm -qa|grep rsync 如果没有发装,执以下命令进行安装 yum -y install rsync 2.定义rsync配置文件/etc/rsyncd.conf 192.168.10.11: cat >> /etc/rsyncd.conf << E

inotify+rsync双向同步

inotify+rsync实现双向自动同步文件,这个在实验是由于本人所在公司一项业务需要实现双向同步,inotify+rsync的大多数配置都是单向实施的,这个双向实验经过验证是可行的,对于没有共享存储的但是又需要实现数据双向一致性的场景还是比较实用的. Inotify+rsync实现双向同步实验 机器地址:192.168.14.202 192.168.14.203 目录为/var/www/html/web202和/var/www/html/web203目录的所有者和所属组为rsync 用户为:

centos 6.9使用Rsync+Inotify-tools实现数据实时同步

说明: 操作系统:CentOS 6.9 源服务器:192.168.1.222 备份服务器:192.168.1.1.233 目的:把源服务器上/backup目录实时同步到备份服务器的/backup目录下 一.在备份服务器安装Rsync服务端 1.关闭SELINUX vi /etc/selinux/config #编辑防火墙配置文件 #SELINUX=enforcing #注释掉 #SELINUXTYPE=targeted #注释掉 SELINUX=disabled #增加 :wq! #保存,退出

Linux中inotify软件部署及参数事件演示

声明:博主使用的是CentOS6.9的系统 参考资料: https://github.com/rvoicilas/inotify-tools/wiki http://www.ibm.com/developerworks/cn/linux/l-inotifynew/ inotify--Linux 2.6内核中的文件系统变化通知机制 参考资料 安装inotify须知 首先,在安装inotify软件之前一定要确认系统中,必须要存在的三个文件 [[email protected] ~]# ll /pro

inotify+rsync、sersync 实时备份

作者:Georgekai 归档:学习笔记 2018/1/26 inotify+rsync.sersync 实时备份 1.1 定时备份缺点: 1. 浪费系统性能(数据没变化到时间也会备份) 2. 数据安全性不高(定时任务最短1分钟同步一次,如果1分钟内数据变化后,服务器宕机了,就 会丢失数据) 1.2 inotify+rsync 1.2.1 inotify是什么? 1. 是一种强大的,细粒度的,异步的文件系统事件监控系列 2. linux内核从2.6.13起,加入了inotify的支持 3. 作用