网上有很多讲解rsync+inotify的教程,我就先贴出一个来大家去看吧,基本都是类似的。

http://www.jb51.net/article/57011.htm

我就强调几点,按照上面的方法配置完后基本上会出现 防火墙的错误,需要打开873端口号

命令,2种方式的命令:

  1. iptables -A INPUT -p tcp --dport 873 -j ACCEPT   注意:没装firewall的请使用此命令
  2. firewall-cmd --zone=public --add-port=873/tcp --permanent 注意:装了firewall的请使用此命令,执行完这句后需要重启防火墙firewall-cmd --reload

需要特别注意的是如果是阿里云的服务器需要在公网入方向和公网出方向将873端口加进去。

还有按照上面的配置铁定会出现一个错误,那就是服务端配置文件第7行出现的一个错误:

/usr/local/inotify/bin/inotifywait -mrq --timefmt '%d/%m/%y %H:%M' --format '%T %w%f%e' -e modify,delete,create,attrib
$src \ | while read files

看好了,这个是之前那位文章的作者故意写错的还是咋地,$src \ | while read files将这句话里的 \ 给去掉就好了

上面是我本机服务端的配置文件,rsync.sh

顺便说一句,服务端的正确打开方式:

root@iZ2zed4mlmnhkespizriyiZ:/home/wwwroot# sh /home/wwwroot/rsync.sh &

查看是否启动成功:

root@iZ2zed4mlmnhkespizriyiZ:/home/wwwroot# ps -ef|grep rsync
root 15767 15443 0 15:57 pts/1 00:00:00 sh ./rsync.sh
root 15769 15767 0 15:57 pts/1 00:00:00 sh ./rsync.sh
root 15882 15443 0 16:41 pts/1 00:00:00 grep rsync

按照教程走,大体流程都不会错,其实配置也很简单,服务端该装的装完,配置文件配好,就开始做客户端的事情了,客户端更简单,只需要安装一个rsync即可

详细步骤可以参阅连接的文档,这里讲一下还会踩到的坑,记住客户端的密码文件一定要给600的权限,否则就会抛错:

@ERROR: auth failed on module XXX

http://blog.csdn.net/learnhard/article/details/5542765

可参考此篇文章解决此错误。

客户端权限也需要看好  建议将服务端和客户端的auth users = webuser该成auth users = root

基本上注意上述我讲的几点,你就可以成功,最后发一下成果图吧

服务端:

客户端:

数据已同步,只要有新文件就可以同步过来。不过还是有一些小瑕疵,按照之前博文教程上来讲“主服务器里删除文件的时候,备份服务器里不跟着删除文件,我查看了很多英文文档,测试了很多遍,最后找到了一个解决方法,那就是在主服务器里,把rsync.sh这个脚本里第9行的--delete参数给去掉,就可以解决这个问题” 这句话纯属放屁,我已经将--delete去掉了 还是不管用的,具体如何才能实现将备份数据库的文件删除,这个等我找到解决方案一定会贴出来的。

多台服务器下同步文件夹数据(rsync+inotify)的更多相关文章

  1. Linux 两台服务器之间传输文件和文件夹

    今天处理一个项目要迁移的问题,突然发现这么多图片怎么移过去,可能第一时间想到的是先从这台服务器下载下来,然后再上传到另外一台服务器上面去,这个方法确实是可行,但是实在是太费时间了,今天我就教大家怎么快 ...

  2. 打开FTP服务器上的文件夹时发生错误,请检查是否有权限访问该文件夹

    打开FTP服务器上的文件夹时发生错误,请检查是否有权限访问 在win98,winme,win2000,win2003下都能正常上传文件夹,但在winxp+sp2下同样的文件夹就可能出现问题 1. 打开 ...

  3. linux下各文件夹的结构说明及用途介绍

    linux下各文件夹的结构说明及用途介绍: /bin:二进制可执行命令.   /dev:设备特殊文件.   /etc:系统管理和配置文件.   /etc/rc.d:启动的配 置文件和脚本.   /ho ...

  4. 【转】linux下各文件夹的结构说明及用途介绍

    linux下各文件夹的结构说明及用途介绍: /bin:二进制可执行命令. /dev:设备特殊文件. /etc:系统管理和配置文件. /etc/rc.d:启动的配 置文件和脚本. /home:用户主目录 ...

  5. Linux下各文件夹的结构说明及用途介绍(转载)

    linux下各文件夹的结构说明及用途介绍: /bin:二进制可执行命令. /dev:设备特殊文件. /etc:系统管理和配置文件. /etc/rc.d:启动的配 置文件和脚本. /home:用户主目录 ...

  6. 【转载】Linux下各文件夹的含义和用途

    原文地址:https://www.cnblogs.com/lanqingzhou/p/8037269.html Linux下各文件夹的含义和用途 Linux根目录”/“下各个系统文件夹的含义和用途 1 ...

  7. linux下各文件夹的结构说明及用途介绍:Linux目录结构介绍

    linux下各文件夹的结构说明及用途介绍: /bin:二进制可执行命令. /dev:设备特殊文件. /etc:系统管理和配置文件. /etc/rc.d:启动的配 置文件和脚本. /home:用户主目录 ...

  8. linux系统下修改文件夹目录权限

    linux系统下修改文件夹目录权限 文件夹权限问题 Linux.Fedora.Ubuntu修改文件.文件夹权限的方法差不多.很多人开始接触Linux时都很头痛Linux的文件权限问题.这里告诉大家如何 ...

  9. 一台电脑多个文件夹安装多个Redis服务

    思路: 在弄Mongodb的时候,可以在不同的文件夹下面运行不同的mongodb实例 那么Redis可以吗 现在添加一个Redis文件夹,里面放置redis,修改配置端口为6378 将以前的那个Red ...

随机推荐

  1. php-------面向对象详解

    php面向对象详解 面向对象 对象概念是面向对象技术的核心.在显示世界里我们所面对的事情都是对象,如计算机.电视机.自行车等.在面向对象的程序设计中,对象是一个由信息及对信息进行处理的描述所组成的整体 ...

  2. 几句代码简单实现IoC容器

    前言 最近在调试EasyNetQ代码的时候发现里面有一段代码,就是IoC容器的简单实现,跟着他的代码敲了一遍,发现了奇妙之处.当然也是因为我才疏学浅导致孤陋寡闻了.他的思路就是通过动态调用构造函数生成 ...

  3. 搭建nlp_server服务器

    这是文档 如何启动斯坦福NLP-Service 1.sudo apt-get install gearman-job-server安装gearman-server 2.启动gearman服务: gea ...

  4. Angular.js数据绑定时自动转义html标签及内容

    angularJS在进行数据绑定时默认是以字符串的形式数据,也就是对你数据中的html标签不进行转义照单全收,这样提高了安全性,防止html标签的注入攻击,但有时候需要,特别是从数据库读取带格式的文本 ...

  5. 以EF形式操作mysql数据库

    1.引入Nuget包: 2.书写EF操作上下文 public class MySqlContext:DbContext { protected override void OnConfiguring( ...

  6. centos7生成密钥及集群之间免密登录

    1.在本地生成密钥 命令:ssh-keygen -t dsa -P '' -f ~/.ssh/id_dsa 2.进入.ssh文件夹,创建保存密钥的文件 命令:touch authorized_keys ...

  7. 关于JavaScript中省略元素对数组长度的影响

    在学习<JavaScript权威指南>第六版的第7.1节中通过数组直接量创建数组时,我们可以不给数组的某个元素赋值,它就会使undefined.虽然是undefined,但我们调用数组对象 ...

  8. Xcode命令行作用

    问题:Command Line Tools for Xcode有什么用 答案: Command Line Tools里面有git, xcrun, xcodebuild, gcc, gdb, make等 ...

  9. RMAN_PIPE

    涉及的dbms_pipe包中的过程和函数:(1)PACK_MESSAGE Procedures用途:Builds message in local buffer(2)SEND_MESSAGE Func ...

  10. 在JSP中使用formatNumber控制要显示的小数位数

    先引入标签库 <%@ taglib uri="http://java.sun.com/jsp/jstl/fmt" prefix="fmt" %> 比 ...