做这个功能的时候遇到了好多坑,在此感谢一下这篇博客

http://kerry.blog.51cto.com/172631/734087/  ,大家参照这篇博客就能实现该功能。

另外如果想详细了解一下的话可以参考这几篇博客:

http://nolinux.blog.51cto.com/4824967/1431426

http://nolinux.blog.51cto.com/4824967/1431742

http://nolinux.blog.51cto.com/4824967/1431811

主要是要实现源服务器中的对应目录文件同步到目标服务器中的对应目录,文件有变化时也需要同步。

服务器版本是Linux内核基本都可以,但是内核版本最好高于2.6.13,因为Linux内核从2.6.13起,加入了对inotify的支持,我们需要使用Inotify实现文件同步监控功能。这边测试用的是CentOS-7 + 。

源服务器上需要安装inotify和rsync服务(inotify功能Linux核心集成,rsync功能一般发行版系统也都有集成,所以我们一般只需要安装一个inotify-tools工具方便inofity功能的调用),还需要提供一个脚本用于启动inotify服务,另外还有一个密码文件(该密码文件中只有一个密码,不需要用户名)。

目标服务器需要安装rsync服务,还需提供一个/etc/rsyncd.conf配置文件,启动同步服务的时候需要指定该配置文件,另外还需要一个认证密码文件(该密码文件中有一个用户名密码键值对,例如 root:123456)。

注意事项

这里记录下碰到的坑,防止以后重复踩到:

1、首先是编写脚本文件的时候因为是在windows下编写的,之后上传到linux的,所以编码有问题,执行报错。

vi xxxx   进入文本编辑器后

set ff?   查看文本格式是dos还是unix

set ff=unix    设置文本格式为unix

2、服务器上的密码文件权限一定要进行设置,不然会读取的时候会报权限错误

chmod 600 xxxx  xxxx为文件完整地址

3、启动inotify服务的时候如果报找不到库的错误,需要在启动前指定一下

设置连接库地址

export LD_LIBRARY_PATH=/usr/local/lib:$LD_LIBRARY_PATH

启动监控服务

inotifywait -mrq -e create,modify,delete /home/dept12/sums/

参考地址:http://blog.csdn.net/wangxin6722513/article/details/44218893

4、目标服务器启动同步服务的时候需要提供一个/etc/rsyncd.conf文件,还有一个密码文件,密码文件需要设置权限

目标服务器启动同步服务,需要指定配置文件

rsync --daemon --config=/etc/rsyncd.conf

5、相关防火墙需要开放873端口,同一台服务器进出的防火墙都需要开放

iptables -L 查看防火墙状态

Linux系统关闭防火墙可参考:

http://blog.csdn.net/wang1144/article/details/7804404

windows中虚拟机Linux系统关闭防火墙参考:

http://blog.csdn.net/hsl_1990_08_15/article/details/50441058

6、各种rsync错误提示参考地址:

http://blog.chinaunix.net/uid-13954085-id-158637.html

用到的命令

ifconfig    查看当前服务器ip

rsync + 回车 查看Ubuntu系统是否安装了rsync,出现帮助信息说明已经安装

rpm -qa|grep rsync 查看CentOS系统是否安装了rsync

ps -ef|grep rsync 查看同步服务是否启动

Inotify+Rsync实现Linux服务器文件同步的更多相关文章

  1. Linux下利用rsync实现多服务器文件同步

    windows做为文件服务器,使用rsync的windows服务版本,然后配置好就可以了.需要的朋友可以参考下. windows做为文件服务器,使用rsync的windows服务版本:cwRsyncS ...

  2. 两台Linux服务器文件同步

    在给公司或者学校做系统部署的时候,为了数据安全往往我们至少需要两台服务器,接下来请看: 我们要实现的是把客户端(192.168.0.1)的复制到目标服务器(192.168.0.2) 一.目标服务器 1 ...

  3. rsync从linux到linux的文件同步备份

    rsync从linux到linux的文件同步备份 一.环境 需要备份文件的服务器(服务器端):192.168.1.201 (RHEL 5) 接收备份文件的服务器(客户端):192.168.1.202 ...

  4. 负载均衡配置下的不同服务器【Linux】文件同步问题

    负载均衡配置下的不同服务器[Linux]文件同步问题2017年04月13日 22:04:28 守望dfdfdf 阅读数:2468 标签: linux负载均衡服务器 更多个人分类: 工作 问题编辑版权声 ...

  5. BAT实现服务器文件同步

    服务器文件同步有很多工具,例如 GoodSync.rsync.BitTorrent Sync等……其实WINDOWS下自带了一个文件同步利器:ROBOCOPY.它是一个命令行的目录复制命令,自从Win ...

  6. Linux入门(五)linux服务器文件远程管理

     1 使用filezila远程管理linux服务器文件 filezila下载地址:https://filezilla-project.org/ filezila默认只能登录普通用户,如果想要root用 ...

  7. linux实现多台服务器文件同步

    inotify-tools+rsync实时同步文件安装和配置 Linux+Nginx+PHP+MySQL+MemCached+eaccelerator安装优化记录(见 http://www.linux ...

  8. 从Windows 服务器通过sync向Linux服务器定时同步文件

    本文解决的是Windows 下目录及文件向Linux同步的问题,Windows向 Windows同步的请参考:http://www.idcfree.com/article-852-1.html 环境介 ...

  9. inotify-tools + php脚本实现Linux服务器文件监控并邮件提醒

      需求简介: 由于服务器被挂马,经常被写入涉敏感的html网页,领导时常被网监请去喝茶,呵呵你懂的.所以有两个需求,一是找出服务器的木马后门和修复代码漏洞,二是监控服务器涉及增删改查的文件. 第一个 ...

随机推荐

  1. spring与disruptor集成的简单示例[z]

    [z]https://www.jb51.net/article/135475.htm disruptor不过多介绍了,描述下当前的业务场景,两个应用A,B,应用 A 向应用 B 传递数据 . 数据传送 ...

  2. 除非你是BAT,前端开发中最好少造轮子

    站在前人的肩膀上 HTML.CSS.JavaScript是前端的根基,这是无可否认的事实.正如一辆车当然都是由一堆钢板和螺钉组成的,但是现在还有人拎着个锤子敲敲打打的造车吗?李书福说过,“汽车不过是四 ...

  3. centos 7 常用工具篇

    1.vmstat监控linux整体性能工具如查看命令:vmstat 1 4 2.用netstat查看网络连接,接口等信息如:netstat -an 3.dig  或者nslookup 跟踪yum解析过 ...

  4. 人脸识别1:n对比 (二)

    本项目采用了百度AI 人脸识别 第三方接口,实现了自选本地手机相册图片上传人脸(faceSet中添加人脸) 和 自选本地手机相册图片寻找出集合中相似度最高的一个face,可返回比对相似度.位置等信息. ...

  5. qt quick-初始学习概念

    Qt Quick简介: Qt Quik 是一种高级用户界面技术,使用它可以轻松地创建供移动和嵌入式设备使用到动态触摸式界面和轻量级应用程序:Qt Quick主要由三部份组成: 改进的Qt Creato ...

  6. spring boot生成的war包运行时出现java.lang.NullPointerException: null

    最近写了一个数据库同步的程序,见之前的博客,没有用到spring框架来集成,用的时纯Java代码.然后,项目经理要我把程序合到spring boot框架中,因为涉及到多数据源,时间又比较紧,同意我直接 ...

  7. 结对项目——四则运算GUI项目

    一.项目地址:https://git.coding.net/lvgx/wsz.git 二.PSP: PSP2.1 任务内容 计划共完成需要的时间(min) 实际完成需要的时间(min) Plannin ...

  8. nginx集成环境下载

    https://visual-nmp.en.softonic.com/download

  9. spring事务相关

    在 SPRING 中一共定义了六种事务传播属性 PROPAGATION_REQUIRED -- 支持当前事务,如果当前没有事务,就新建一个事务.这是最常见的选择. PROPAGATION_SUPPOR ...

  10. 【mysql】:mysql性能优化总结

    一.Mysql引擎概述 1.MyISAM存储引擎 MyISAM表是独立于操作系统的,这说明可以轻松地将其从Windows服务器移植到Linux服务器:每当我们建立一个MyISAM引擎的表时,就会在本地 ...