Centos 6.5配置rsync+inotify实现文件实时同步

  1. 1.安装rsync(两台机器执行相同的步骤)
  2. yum install gcc
  3. yum install rsyncd xinetd -y
  4. 因为rsync是由xinetd启动的,所以需要修改一个配置
  5. vim /etc/xinetd.d/rsync
  6. disable = yes --修改为-->> disable = no
  7. 启动并查看是否启动成功
  8. /etc/init.d/xinetd restart
  9. netstat -atnp |grep 873
  10. tcp 0 0 :::873 :::* LISTEN 1503/xinetd
  11. 2.服务部署
  12. yum install wget -y
  13. wget http://github.com/downloads/rvoicilas/inotify-tools/inotify-tools-3.14.tar.gz
  14. 注意:需要检查你的系统是否支持inotify
  15. 内核需要在2.6.13以上
  16. uname -r
  17. 2.6.32-431.el6.x86_64
  18. 并且有如下三个文件
  19. ll /proc/sys/fs/inotify/
  20. total 0
  21. -rw-r--r-- 1 root root 0 Nov 13 19:38 max_queued_events
  22. -rw-r--r-- 1 root root 0 Nov 13 19:38 max_user_instances
  23. -rw-r--r-- 1 root root 0 Nov 13 19:38 max_user_watches
  24. 开始编译安装inotify
  25. tar zxvf inotify-tools-3.14.tar.gz
  26. cd inotify-tools-3.14
  27. ./configure --prefix=/usr/local/inotify && make && make install
  28. cd /usr/local/inotify
  29. 查看一下下面的目录及文件
  30. ls -l
  31. total 16
  32. drwxr-xr-x. 2 root root 4096 Nov 13 19:42 bin ##inotify执行命令(二进制)
  33. drwxr-xr-x. 3 root root 4096 Nov 13 19:42 include ##inotify程序所需用的头文件
  34. drwxr-xr-x. 2 root root 4096 Nov 13 19:42 lib ##动态链接的库文件
  35. drwxr-xr-x. 4 root root 4096 Nov 13 19:42 share ##帮助文档
  36. 工具集合介绍:
  37. 一共安装了2个工具(命令),即inotifywaitinotifywatch
  38. inotifywait:在被监控的文件或目录上等待特定文件系统事件(openclosedelete等)发生,执行后处于阻塞状态,适合在shell脚本中使用。
  39. inotifywatch:收集被监视的文件系统使用度统计数据,指定文件系统事件发生的次数统计。
  40. 创建一个软连接
  41. ln -s /usr/local/inotify/bin/inotifywait /bin/
  42. 常用参数:
  43. -r ##递归查询目录
  44. -q ##打印很少的信息,仅仅打印监控相关的信息
  45. -m ##始终保持事件监听状态
  46. --excludei ##排除文件或目录时,不区分大小写
  47. --timefmt ##指定时间的输出格式

配置实时同步目录:

  1. 1.在这我们通过ssh秘钥的方法来认证,当然也可以用rsync指定密码的形式
  2. 在同步端生成ssh秘钥对
  3. ssh-keygen (直接回车就行)
  4. 将生成的公钥同步到你的被同步机器
  5. scp /root/.ssh/id_rsa.pub 192.168.2.11:/root/.ssh/
  6. 需要在被同步机器上将公钥改名
  7. ls -l /root/.ssh
  8. total 8
  9. -rw------- 1 root root 404 Nov 13 13:48 authorized_keys
  10. 或者可以直接用(这种方法不用改名,详情可百度密钥对的配置)
  11. ssh-copy-id -i /root/.ssh/id_rsa.pub 192.168.2.11
  12. 2.同步端编写同步的脚本
  13. cat /shell/auto_rsync.sh
  14. #!/bin/bash
  15. /usr/local/inotify/bin/inotifywait -mrq -e modify,delete,create,attrib,move /usr/local/src |while read events
  16. do
  17. rsync -avzP --delete -e 'ssh -p 60820' /usr/local/src/ 172.17.33.188:/usr/local/src
  18. echo "`date +'%Y-%m-%d %H:%M:%S'` 出现事件:$events" >> /shell/auto_rsync.log
  19. done
  20. 3.在同步端创建一个abc的文件测试
  21. touch /usr/local/src/abc
  22. 4.查看记录的log日志会有你刚刚创建的文件
  23. 5.在被同步机器上面查看文件或目录是否同步过去

Centos6.5下rsync+inotify的配置详解的更多相关文章

  1. CentOS6.5下的Nagios安装配置详解(图文)

    最近因为,科研需要,接触上了Nagios,这里,我将安装笔记做个详解.为自己后续需要和博友们学习! VMware workstation 11 的下载 VMWare Workstation 11的安装 ...

  2. Linux - CentOS6.5服务器搭建与初始化配置详解(下)

    传送带:Linux - CentOS6.5服务器搭建与初始化配置详解(上) 继续接着上面的安装,安装完后会出现下面界面 点击reboot重启 重启后可以看到下面的tty终端界面  因为这就是最小化安装 ...

  3. libCURL开源库在VS2010环境下编译安装,配置详解

    libCURL开源库在VS2010环境下编译安装,配置详解 转自:http://my.oschina.net/u/1420791/blog/198247 http://blog.csdn.net/su ...

  4. Linux - CentOS6.5服务器搭建与初始化配置详解(上)

    1.新建一个虚拟机 选择典型 单机下一步 p.MsoNormal,li.MsoNormal,div.MsoNormal { margin: 0cm 0cm 0.0001pt; text-align: ...

  5. CentOS7下rsync服务的基本详解和使用

    第1章 Rsync基本概述 1.1 什么是Rsync rsync是一款开源,快速,多功能的可实现增量的本地或远程的数据镜像同步备份的优秀工具.适用于多个平台.从软件名称可以看出来是远程同步的意思(re ...

  6. VPS服务器下的centos网卡配置详解……

    自动激活网卡 安装了CENTOS 6.X后,每次启动了系统都需要手动激话网卡,以下方法可以在系统启动后自动激活网卡. cat /etc/sysconfig/network-scripts/ifcfg- ...

  7. Linux下MongoDB安装和配置详解

    1.下载安装包 将解压到/usr/local/mongodb 文件夹下 # mkdir /usr/local/mongodb # tar zxvf mongodb-linux-x86_64-3.2.9 ...

  8. Jdk在window环境下的安装与配置详解

    本文为博主原创,转载请注明出处: 1.2  Java程序开发环境的配置 java开发工具包:java开发工具:记事本 IDE,这个只能写小程序,写大程序需要集成开发工具:反编译工具(我们可以在网上找一 ...

  9. linux下nginx部署以及配置详解

    1.下载源码包解压编译 启动多个,请看:在linux系统下安装两个nginx以及启动 查看nginx包路径:http://nginx.org/download/,两种下载方式: 1.在官网下载使用Xf ...

随机推荐

  1. 【Alpha阶段】M1事后报告

    时间:2015-11-13 23:30 地点:七公寓一楼会议室 参与人员:窝窝头全体成员(王若愚因事请假) 设想和目标 我们的软件要解决什么问题?是否定义得很清楚?是否对典型用户和典型场景有清晰的描述 ...

  2. Beta 冲刺 五

    团队成员 051601135 岳冠宇 031602629 刘意晗 031602248 郑智文 031602330 苏芳锃 031602234 王淇 照片 项目进展 岳冠宇 昨天的困难 数据交换比较复杂 ...

  3. python文本替换

    file_data = '' str1 = ' str2 = ' with open(loginfofile, 'r+') as f: #打开文件,r+模式,读取 for line in f: if ...

  4. laravel 处理自定错误页面,如404,500,501,502,503,504等等

    laravel 5.0 版本下,修改pp/Exceptions/Handler.phppublic function render($request, Exception $e) { if ($e i ...

  5. button 和 submit 的区别

    表单提交中button和submit的区别submit是button的一个特例,也是button的一种,它把提交这个动作自动集成了,submit和button,二者都以按钮的形式展现,看起来都是按钮, ...

  6. hihoCoder 1632 Secret Poems(ACM-ICPC北京赛区2017网络同步赛)

    时间限制:1000ms 单点时限:1000ms 内存限制:256MB 描述 The Yongzheng Emperor (13 December 1678 – 8 October 1735), was ...

  7. 本地开启apache虚拟服务器

    一般来说,服务器是可以托管多个网站的,只要服务器开启虚拟主机的功能,原理是根据来源的host进行判断,不同的域名实现不同的文件访问,这样就可以实现一个服务器托管不同网站了,只要服务器的性能和带宽足够强 ...

  8. hdwiki 参考资料改成可点击跳转的(默认不能点)

    (1)首先在view这个文件夹找到viewdoc.htm文件.(2)在viewdoc.htm源码中搜索“<dd> <span>[{eval echo ($i+1)}]”找到下面 ...

  9. 《剑指offer》— JavaScript(32)把数组排成最小的数

    把数组排成最小的数 题目描述 输入一个正整数数组,把数组里所有数字拼接起来排成一个数,打印能拼接出的所有数字中最小的一个.例如输入数组{3,32,321},则打印出这三个数字能排成的最小数字为3213 ...

  10. Linux下防御ddos攻击

    导读 Linux服务器在运营过程中可能会受到黑客攻击,常见的攻击方式有SYN,DDOS等.通过更换IP,查找被攻击的站点可能避开攻击,但是中断服务的时间比较长.比较彻底的解决方法是添置硬件防火墙.不过 ...