rsync服务安装与《rsync+sersync同步》环境一样!

安装inotify-tools

在源服务器10.10.2.191上操作:

1.查看服务器内核是否支持inotify

ll /proc/sys/fs/inotify   #列出文件目录,出现下面的内容,说明服务器内核支持inotify
-rw-r--r-- root root Mar : max_queued_events
-rw-r--r-- root root Mar : max_user_instances
-rw-r--r-- root root Mar : max_user_watches

2.上传inotify-tools-3.14.tar.gz到/usr/local/src目录下

cd /usr/local/src
tar zxvf inotify-tools-3.14.tar.gz
cd inotify-tools-3.14
./configure --prefix=/usr/local/inotify
make
make install

3.设置系统环境变量,添加软连接

echo "PATH=/usr/local/inotify/bin:$PATH" >>/etc/profile.d/inotify.sh
source /etc/profile.d/inotify.sh #使设置立即生效
echo "/usr/local/inotify/lib" >/etc/ld.so.conf.d/inotify.conf
ln -s /usr/local/inotify/include /usr/include/inotify

4.修改inotify默认参数(inotify默认内核参数值太小)

查看系统默认参数值

sysctl -a | grep max_queued_events
结果是:fs.inotify.max_queued_events = sysctl -a | grep max_user_watches
结果是:fs.inotify.max_user_watches = sysctl -a | grep max_user_instances
结果是:fs.inotify.max_user_instances =
修改参数:
sysctl -w fs.inotify.max_queued_events=""
sysctl -w fs.inotify.max_user_watches=""
sysctl -w fs.inotify.max_user_instances="" vi /etc/sysctl.conf #添加以下代码 fs.inotify.max_queued_events=
fs.inotify.max_user_watches=
fs.inotify.max_user_instances=
:wq!

5.创建脚本,实时触发rsync进行同步

vi /usr/local/inotify/rsync.sh   

#!/bin/bash

dstip=10.10.2.192
srcdir=/root/download
for ip in $dstip do rsync -avH --port= --progress --delete /root/download/ centos@$dstip::centos --password-file=/etc/passwd.txt
done /usr/local/inotify/bin/inotifywait -mrq --timefmt '%d/%m/%y %H:%M' --format '%T %w%f%e' -e close_write,modify,delete,create,attrib,move $srcdir | while read file do for ip in $dstip do rsync -avH --port= --progress --delete /root/download/ centos@$dstip::centos --password-file=/etc/passwd.txt echo " ${file} was rsynced" >> /tmp/rsync.log >& done done

6.设置脚本开机自动执行

vi /etc/rc.d/rc.local  #编辑,在最后添加一行
sh /usr/local/inotify/rsync.sh & #设置开机自动在后台运行脚本
:wq! #保存退出

7.测试inotify实时触发rsync同步脚本是否正常运行

在源服务器10.10.2.191的/root/download上创建文件夹test
mkdir /root/download/test

重新启动源服务器:10.10.2.191

等系统启动之后,查看目标服务器10.10.2.192上/root/download是否存在test目录

如果以上测试都通过,说明inotify实时触发rsync同步脚本运行正常。

8.运行rsync_inotify.sh脚本,然后在源服务器10.10.2.191的/root/download目录里新增或删除文件进行测试

Rsync+Inotify同步的更多相关文章

  1. 使用rsync+inotify同步两台服务器文件

    目标功能:将B服务器文件同步到A服务器 A服务器rsyncd.conf配置 权限600 A服务器rsyncd.pas文件配置  权限600 同步文件路径 /data/wwwroot/shen/  权限 ...

  2. rsync + inotify 同步

    1. 配置rysnc server:同步机,同步被同步机更新的文件,很多台vi /etc/rsyncd.conf uid=rootgid=rootuse chroot=nomax connection ...

  3. rsync+inotify同步备份

    1.rsync与scp区别 scp无法备份大量数据,先统计文件信息,后进行拷贝,如果文件大小超出磁盘空间,则无法拷贝 rsync边复制,边比较,边统计 2.rsync特点 (1.)支持增量备份 (2. ...

  4. rsync+inotify同步备份文件

    前言 rsync作用:man rsync可以看到解释为a fast, versatile, remote (and local) file-copying tool,主要进行文件的同步. inotif ...

  5. rsync+inotify实现实时同步案例--转

    转自:http://chocolee.blog.51cto.com/8158455/1400596 随着应用系统规模的不断扩大,对数据的安全性和可靠性也提出的更好的要求,rsync在高端业务系统中也逐 ...

  6. Rsync+inotify实现实时同步

    1.1 inotify介绍 inotify是一种强大的.细粒度的.异步的文件系统事件控制机制.linux内核从2.6.13起,加入了inotify支持,通过inotify可以监控文件系统中添加.删除. ...

  7. rsync+inotify实现实时同步案例

    转自:http://chocolee.blog.51cto.com/8158455/1400596 随着应用系统规模的不断扩大,对数据的安全性和可靠性也提出的更好的要求,rsync在高端业务系统中也逐 ...

  8. Centos 6.5 rsync+inotify 两台服务器文件实时同步

    rsync和inotify是什么我这里就不在介绍了,有专门的文章介绍这两个工具. 1.两台服务器IP地址分别为: 源服务器:192.168.1.2 目标服务器:192.168.1.3 @todo:从源 ...

  9. 通过rsync+inotify实现数据实时备份同步

    一.环境描述 测试环境 需求:服务器A与服务器B为主备服务模式,需要保持文件一致性,现采用sersync基于rsync+inotify实现数据实时同步 环境描述: 主服务器172.26.7.50 ,从 ...

随机推荐

  1. Shadow Map阴影贴图技术之探 【转】

    这两天勉勉强强把一个shadowmap的demo做出来了.参考资料多,苦头可不少.Shadow Map技术是目前与Shadow Volume技术并行的传统阴影渲染技术,而且在游戏领域可谓占很大优势.本 ...

  2. 无法安装 golang.org/x/tools/的库

    安装godep 官方的安装文档是使用go get github.com/tools/godep,很可惜,因为“网络”问题会报一个找不到golang.org/x/tools/go/vcs的错误. 而ht ...

  3. Jememeter和Loadrunner测试MySQL性能

    From:http://blog.csdn.net/testingstar/article/details/60579454 MySQL数据库性能测试的方法 前置条件: 安装系统:windows 7 ...

  4. mysql创建还原点

    set autocommit = 0;   insert into t1(name) values ("user1"); savepoint p1;   insert into t ...

  5. Oracle oledb 打包并集成到程序安装包(VC ADO訪问Oracle)

    近期有一个项目和oracle交互,我用的是ADO的方式进行试问操作. 首先把数据库连接的东东记录一下,老了记性不好啊! 操作例如以下: //连接串这么写的话就能够不用配置 tnsnames.ora配置 ...

  6. Vue 资源

    一. 资源教程 综合类 vuejs 英文资料 Vue中文资料总汇 Vue.js 的一些资源索引 vue资料 入门类 vue 快速入门 Vue.js 中文系列视频教程 on Laravist 英文教程 ...

  7. 【LeetCode with Python】 Sort List

    博客域名:http://www.xnerv.wang 原题页面:https://oj.leetcode.com/problems/sort-list/ 题目类型: 难度评价:★ 本文地址:http:/ ...

  8. nginx+thinkphp pathinfo模式配置

    server { listen 81; server_name http://lanxing.cc gohosts.com; root "D:\WWW\lanxing\public" ...

  9. Java中的枚举类为何不能有public构造器

    声明:本博客为原创博客.未经同意.不得转载!原文链接为http://blog.csdn.net/bettarwang/article/details/27262809. 从Java 5開始有了枚举类, ...

  10. Extjs-树 Ext.tree.TreePanel 动态加载数据

    先上效果图 1.说明Ext.tree.Panel 控件是树形控件,大家知道树形结构在软件开发过程中的应用是很广泛的,树形控件的数据有本地数据.服务器端返回的数据两种.对于本地数据的加载,在extjs的 ...