Centos6.5下rsync+inotify的配置详解
Centos 6.5配置rsync+inotify实现文件实时同步
1.安装rsync(两台机器执行相同的步骤)
yum install gcc
yum install rsyncd xinetd -y
因为rsync是由xinetd启动的,所以需要修改一个配置
vim /etc/xinetd.d/rsync
disable = yes --修改为-->> disable = no
启动并查看是否启动成功
/etc/init.d/xinetd restart
netstat -atnp |grep 873
tcp 0 0 :::873 :::* LISTEN 1503/xinetd
2.服务部署
yum install wget -y
wget http://github.com/downloads/rvoicilas/inotify-tools/inotify-tools-3.14.tar.gz
注意:需要检查你的系统是否支持inotify
内核需要在2.6.13以上
uname -r
2.6.32-431.el6.x86_64
并且有如下三个文件
ll /proc/sys/fs/inotify/
total 0
-rw-r--r-- 1 root root 0 Nov 13 19:38 max_queued_events
-rw-r--r-- 1 root root 0 Nov 13 19:38 max_user_instances
-rw-r--r-- 1 root root 0 Nov 13 19:38 max_user_watches
开始编译安装inotify
tar zxvf inotify-tools-3.14.tar.gz
cd inotify-tools-3.14
./configure --prefix=/usr/local/inotify && make && make install
cd /usr/local/inotify
查看一下下面的目录及文件
ls -l
total 16
drwxr-xr-x. 2 root root 4096 Nov 13 19:42 bin ##inotify执行命令(二进制)
drwxr-xr-x. 3 root root 4096 Nov 13 19:42 include ##inotify程序所需用的头文件
drwxr-xr-x. 2 root root 4096 Nov 13 19:42 lib ##动态链接的库文件
drwxr-xr-x. 4 root root 4096 Nov 13 19:42 share ##帮助文档
工具集合介绍:
一共安装了2个工具(命令),即inotifywait和inotifywatch
inotifywait:在被监控的文件或目录上等待特定文件系统事件(open、close、delete等)发生,执行后处于阻塞状态,适合在shell脚本中使用。
inotifywatch:收集被监视的文件系统使用度统计数据,指定文件系统事件发生的次数统计。
创建一个软连接
ln -s /usr/local/inotify/bin/inotifywait /bin/
常用参数:
-r ##递归查询目录
-q ##打印很少的信息,仅仅打印监控相关的信息
-m ##始终保持事件监听状态
--excludei ##排除文件或目录时,不区分大小写
--timefmt ##指定时间的输出格式
配置实时同步目录:
1.在这我们通过ssh秘钥的方法来认证,当然也可以用rsync指定密码的形式
在同步端生成ssh秘钥对
ssh-keygen (直接回车就行)
将生成的公钥同步到你的被同步机器
scp /root/.ssh/id_rsa.pub 192.168.2.11:/root/.ssh/
需要在被同步机器上将公钥改名
ls -l /root/.ssh
total 8
-rw------- 1 root root 404 Nov 13 13:48 authorized_keys
或者可以直接用(这种方法不用改名,详情可百度密钥对的配置)
ssh-copy-id -i /root/.ssh/id_rsa.pub 192.168.2.11
2.同步端编写同步的脚本
cat /shell/auto_rsync.sh
#!/bin/bash
/usr/local/inotify/bin/inotifywait -mrq -e modify,delete,create,attrib,move /usr/local/src |while read events
do
rsync -avzP --delete -e 'ssh -p 60820' /usr/local/src/ 172.17.33.188:/usr/local/src
echo "`date +'%Y-%m-%d %H:%M:%S'` 出现事件:$events" >> /shell/auto_rsync.log
done
3.在同步端创建一个abc的文件测试
touch /usr/local/src/abc
4.查看记录的log日志会有你刚刚创建的文件
5.在被同步机器上面查看文件或目录是否同步过去
Centos6.5下rsync+inotify的配置详解的更多相关文章
- CentOS6.5下的Nagios安装配置详解(图文)
最近因为,科研需要,接触上了Nagios,这里,我将安装笔记做个详解.为自己后续需要和博友们学习! VMware workstation 11 的下载 VMWare Workstation 11的安装 ...
- Linux - CentOS6.5服务器搭建与初始化配置详解(下)
传送带:Linux - CentOS6.5服务器搭建与初始化配置详解(上) 继续接着上面的安装,安装完后会出现下面界面 点击reboot重启 重启后可以看到下面的tty终端界面 因为这就是最小化安装 ...
- libCURL开源库在VS2010环境下编译安装,配置详解
libCURL开源库在VS2010环境下编译安装,配置详解 转自:http://my.oschina.net/u/1420791/blog/198247 http://blog.csdn.net/su ...
- Linux - CentOS6.5服务器搭建与初始化配置详解(上)
1.新建一个虚拟机 选择典型 单机下一步 p.MsoNormal,li.MsoNormal,div.MsoNormal { margin: 0cm 0cm 0.0001pt; text-align: ...
- CentOS7下rsync服务的基本详解和使用
第1章 Rsync基本概述 1.1 什么是Rsync rsync是一款开源,快速,多功能的可实现增量的本地或远程的数据镜像同步备份的优秀工具.适用于多个平台.从软件名称可以看出来是远程同步的意思(re ...
- VPS服务器下的centos网卡配置详解……
自动激活网卡 安装了CENTOS 6.X后,每次启动了系统都需要手动激话网卡,以下方法可以在系统启动后自动激活网卡. cat /etc/sysconfig/network-scripts/ifcfg- ...
- Linux下MongoDB安装和配置详解
1.下载安装包 将解压到/usr/local/mongodb 文件夹下 # mkdir /usr/local/mongodb # tar zxvf mongodb-linux-x86_64-3.2.9 ...
- Jdk在window环境下的安装与配置详解
本文为博主原创,转载请注明出处: 1.2 Java程序开发环境的配置 java开发工具包:java开发工具:记事本 IDE,这个只能写小程序,写大程序需要集成开发工具:反编译工具(我们可以在网上找一 ...
- linux下nginx部署以及配置详解
1.下载源码包解压编译 启动多个,请看:在linux系统下安装两个nginx以及启动 查看nginx包路径:http://nginx.org/download/,两种下载方式: 1.在官网下载使用Xf ...
随机推荐
- 关于sql server2008数据库的连接的几个问题及解决办法
写在开头 不得不说给一台新的服务器配置和部署的确是个不小的工程,在这里先感谢我们的DEV焉域政同学在这方面做出的一些贡献:把安装过程极为困难的sql server2008成功安装到服务器上,并且为我们 ...
- 第二阶段站立会议alpha版总结
一.会议过程 在完成第二次冲刺后,Alpha版本最终发布,我们对校园二手交易平台开发过程及产品存在的问题进行了激烈讨论.进行了我们的团队总结会议,会议中每个人先发表了个人对Alpha版开发过程中存在的 ...
- beta2
组员1:吴晓晖(组长) 过去两天完成了哪些任务 代码重构基本完成 展示GitHub当日代码/文档签入记录 接下来的计划 推荐算法 还剩下哪些任务 组员2:陈锦谋 过去两天完成了哪些任务 重新制作图标 ...
- ElasticSearch 2 (33) - 信息聚合系列之聚合过滤
ElasticSearch 2 (33) - 信息聚合系列之聚合过滤 摘要 聚合范围限定还有一个自然的扩展就是过滤.因为聚合是在查询结果范围内操作的,任何可以适用于查询的过滤器也可以应用在聚合上. 版 ...
- 关于使用实验室服务器的GPU以及跑上TensorFlow代码
连接服务器 Windows - XShell XFtp SSH 通过SSH来连接实验室的服务器 使用SSH连接已经不陌生了 github和OS课设都经常使用 目前使用 192.168.7.169 使用 ...
- String js删除字符串的最后一个字符三种方法
字符串 var basic = "abc,def,ghi,"; 第一种 basic = basic.substr(0, basic.length - 1); 第二种 basic = ...
- SpringBoot 5.SpringBoot小知识讲解
1.修改 server 端口: 在 application.properties 中添加 server.port=9090,我们的端口号就会变成9090了. 2.自定义配置Web: 2.1 创建 Cu ...
- Servlet 生命周期、工作原理-是单实例多线程
Servelet是单实例多线程的 参考:servlet单实例多线程模式 一.Servlet生命周期 大致分为4部:Servlet类加载-->实例化-->服务-->销毁 1.Web C ...
- Emmagee—开源Android性能测试工具
下载:https://github.com/NetEase/Emmagee/releases/download/V2.5/Emmagee.apk 1.Emmagee——Android性能测试工具 Em ...
- std::string 字符串切割
在很多字符串类库里都实现了split函数.不过在std里没有实现.在这里拿出几个: 1. 用单字符作为分隔 #include <string> #include <vector> ...