配置rsync+inotify实时单向同步

定期同步的缺点:

执行备份的时间固定,延期明显,实时性差

当同步源长期不变化时,密集的定期任务是不必要的(浪费资源)

实时同步的优点:

一旦同步源出现变化,立即启动备份,实时性好

只要同步源无变化,则不执行备份,节省资源

创建主配置文件(vim /etc/rsyncd.conf)

address = 192.168.88.10 #rsync服务绑定IP

port 873 #默认服务端口873

log file = /var/log/rsyncd.log #日志文件位置

pid file = /var/run/rsyncd.pid #进程号文件位置

[web] #共享名:用来连接是写在url上的,切记 这里推荐共享名和共享目录名一样最好

comment = web directory backup #共享描述话语

path = /filesrc #实际共享目录

read only = no #是否仅允许读取

dont compress = *.gz *.bz2 #哪些文件类型不进行压缩

auth users = user1 #登录用户名自写

secrets file = /etc/rsyncd_users.db #认证所需账户密码文件(需自行创建-同上)

b.创建认证所需账户密码文件

# vim /etc/rsyncd_users.db

user1:123456

# chmod 600 /etc/rsyncd_users.db 须修改权限,否则登录报错

c.启动服务

# rsync --daemon

# netstat -antp | grep :873

d.设置映射用户对共享目录有权限(r)

# setfacl -m u:nobody:rwx /filesrc

inotify简介

inotify 是一个 Linux 内核特性,它监控文件系统,并且及时向专门的应用程序发出相关的事件警告,比如删除、读、写和卸载操作等。要使用 inotify,必须具备一台带有

2.6.13 版本的内核操作系统。

inotify两个监控命令:

inotifywait:用于持续监控,实时输出结果(常用)

inotifywatch:用于短期监控,任务完成后再出结果

inotify部署

yum -y install gcc*

tar -xf inotify-tools-3.14.tar.gz

cd inotify-tools-3.14

./configure && make && make install

inotifywait命令格式

格式:inotifywait -mrq -e 监控动作1,监控动作2 /监控目录 &

示例:inotifywait -mrq -e create,delete /filesrc &

-m:始终保持事件监听状态

-r:递归查询目录

-q:只打印监控事件的信息

监控动作:modify(内容),create,attrib(权限),move,delete

利用rsync+inotifywait结合脚本实现单向实时同步

vim src.sh

!/bin/bash

a="inotifywait -mrq -e create,delete /filesrc" filesrc是指共享的目录名

b="rsync -avz /filesrc/* root@192.168.88.20:/filedst" filedst是指同步到对方的那个目录

$a | while read directory event file #while判断是否接收到监控记录

do

$b

done

注:用户登录时要求免密码验证

脚本最好放在家目录下运行。

实验结果验证

在服务器端创建,删除文件,查看备份端是否正常

拓展:调整inotify监控的文件数量

调整inotify内核参数(/etc/sysctl.conf)

mak_queue_events 监控队列大小

mak_user_instances 最多监控实例数

max_user_watches 每个实例最多监控文件数

rsync单项同步的更多相关文章

  1. Rsync文件同步

    Rsync文件同步 本章结构 关于rsync 1.一款增量备份工具,remote sync,远程同步,支持本地复制或者与其他SSH.rsync主机同步,官方网站:http://rsync.samba. ...

  2. 真正的inotify+rsync实时同步 彻底告别同步慢

    真正的inotify+rsync实时同步 彻底告别同步慢       http://www.ttlsa.com/web/let-infotify-rsync-fast/     背景 我们公司在用in ...

  3. rsync命令(同步/备份数据)

    rsync命令rsync命令是一个远程数据同步工具,可通过 lam/wan快速同步多台主机间的文件.rsync使用所谓的 "rsync算法"来使用本地和远程两个主机之间的文件达到同 ...

  4. Linux实战教学笔记21:Rsync数据同步工具

    第二十一节 Rsync数据同步工具 标签(空格分隔): Linux实战教学笔记-陈思齐 ---本教学笔记是本人学习和工作生涯中的摘记整理而成,此为初稿(尚有诸多不完善之处),为原创作品,允许转载,转载 ...

  5. 架设rsync服务器同步数据

    什么是rsync rsync 是一个快速增量文件传输工具,它可以用于在同一主机备份内部的备分,我们还可以把它作为不同主机网络备份工具之用.本文主要讲述的是如何自架rsync服 务器,以实现文件传输.备 ...

  6. linux rsync实时同步

    rsync同步 同步与复制的差异:复制:完全拷贝源到目标同步:增量拷贝,只传输变化过的数据 同步操作:remote sync 远程同步支持本地复制,或与其他ssh,rsync主机同步.官方网站:htt ...

  7. Rsync数据同步工具

                                        Rsync数据同步工具 什么是Rsync? Rsync是一款开源的.快速的.多功能的,可以实现全量及增量的本地或原程数据同步备份 ...

  8. Rsync数据同步服务

    Rsync数据同步服务 Rsync软件适用与unix/linux/windows等多种操作系统平台 Rsync是一款开源的,快速的,多功能的,可实现全量及增量的本地或远程数据同步备份的优秀工具,可以实 ...

  9. rsync 文件同步和备份

    rsync 是同步文件的利器,一般用于多个机器之间的文件同步与备份,同时也支持在本地的不同目录之间互相同步文件.在这种场景下,rsync 远比 cp 命令和 ftp 命令更加合适,它只会同步需要更新的 ...

随机推荐

  1. ui 自动化的测试用例从哪来

    从手工测试当中选取,尽量选择 1.简单且需要反复回归 2.稳定且不会经常变化 3.优先覆盖核心功能

  2. .NET内存分析工具-dotMemory

    .NET内存分析工具-dotMemory 1.介绍 官网链接 引言 程序内存占用较大?内存溢出?需要分析生产环境程序怎么办? dotMemory 使您可以分析各种 .NET 和 .NET Core应用 ...

  3. Java学习的第四十八天

    1.例8.4找出整形数组中的最大值 import java.util.Scanner; public class Cjava { public static void main(String[]arg ...

  4. Java集合(类)框架(一)

    集合类均在java.util包之下 集合类方法的功能基本为增.删.改.查,部分外加方法除外(如toArray().toString()等) 1.List接口 底层为Object 数组,存放的数据可以重 ...

  5. python socket 二进制

    问题 在工作中经常会用到socket传输数据,例如客户端给服务器发送数据(双方约定了数据格式),在交测之前,自己用python写个接受数据的server,解析下拼成的数据格式是否正确.用python写 ...

  6. CF716D Complete The Graph

    图论+构造 首先可以发现如果去除了可以改变权值的边,$s$到$t$的最短路若小于$l$,那么一定不行 若等于则直接将可改边权的边改为inf,输出即可 那么现在原图中的最短路是大于$l$的 因为每一条边 ...

  7. 使用python和numpy实现函数的拟合

    给出一个数组x,然后基于一个二次函数,加上一些噪音数据得到另一组数据y. 将得到的数组x,y,构建一个机器学习模型,采用梯度下降法,通过多次迭代,学习到函数的系数.使用python和numpy进行编程 ...

  8. 【RabbitMQ-7】RabbitMQ—交换机标识符

    死信队列概念 死信队列(Dead Letter Exchange),死信交换器.当业务队列中的消息被拒绝或者过期或者超过队列的最大长度时,消息会被丢弃,但若是配置了死信队列,那么消息可以被重新发布到另 ...

  9. 80%人会答错的JS基础面试题

    这套题第一道题难度最大,我第一遍的回答居然也错的,我悲观估计80%的JavaScript从业人员都答不完全准确 []==![] 得到什么? false, 你还需要看看基础 true, 恭喜你答对了,你 ...

  10. [MIT6.006] 19. Daynamic Programming I: Fibonacci, Shortest Path 动态规划I:斐波那契,最短路径

    这节课讲动态规划的内容,动态规划是一种通用且有效的算法设计思路,它的主要成分是"子问题"+"重用".它可以用于斐波那契和最短路径等问题的求解上. 一.斐波那契 ...