博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Centos6安装配置rsync+inotify实时单向同步
阅读量:6919 次
发布时间:2019-06-27

本文共 3567 字,大约阅读时间需要 11 分钟。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
实验环境:
Server : 192.168.9.109  
rsync
+inotify
WEB1:192.168.9.106   
rsync 
server
WEB2:192.168.9.104   
rsync 
server
Server为分发机,有内容更新则推送
rsync 
server
注:也可以WEB到Server拉取数据
 
(1)Server下载安装
rsync
+inotify
下载安装
rsync
#wget https://download.samba.org/pub/rsync/rsync-3.1.2.tar.gz
#tar xf rsync-3.1.2.tar.gz
#cd rsync-3.1.2
#./configure 
#make 
#make install 
下载安装inotify
# uname -r
2.6.32-431.el6.x86_64  
# ls -l /proc/sys/fs/inotify
total 0
-rw-r--r-- 1 root root 0 Aug 30 12:28 max_queued_events
-rw-r--r-- 1 root root 0 Aug 30 12:28 max_user_instances
-rw-r--r-- 1 root root 0 Aug 30 12:28 max_user_watches
如果有上面三项输出,表示系统已经默认支持inotify,接着就可以开始安装inotify-tools了。
# cd /usr/local/src/
# wget http://github.com/downloads/rvoicilas/inotify-tools/inotify-tools-3.14.tar.gz
# tar xf inotify-tools-3.14.tar.gz 
# cd inotify-tools-3.14
# ./configure 
# make
# make install
# ll /usr/local/bin/inotifywa*
-rwxr-xr-x 1 root root 44287 Aug 31 12:23 
/usr/local/bin/inotifywait
-rwxr-xr-x 1 root root 41377 Aug 31 12:23 
/usr/local/bin/inotifywatch
#inotify-tools安装完成后,会生成inotifywait和inotifywatch两个指令,其中,inotifywait用于等待文件或文件集上的一个特定事件,它可以监控任何文件和目录设置,并且可以递归地监控整个目录树。  inotifywatch用于收集被监控的文件系统统计数据,包括每个inotify事件发生多少次等信息。
 
配置SERVER节点:
# vim /data0/inotify.sh
#!/bin/bash
host1=192.168.9.104
host2=192.168.9.106
 
src=
/webroot/
dst1=WEB1
dst2=WEB2
/usr/local/bin/inotifywait 
-mrq --timefmt 
'%d/%m/%y %H:%M' 
--
format 
'%T %w%f%e' 
\
-e modify,delete,create,attrib ${src} | 
which 
read 
file
do
    
/usr/bin/rsync 
-vzrtopg --delete --progress ${src} ${host1}::${dst1}
    
/usr/bin/rsync 
-vzrtopg --delete --progress ${src} ${host2}::${dst2}
    
echo 
"${files} was rsyncd" 
/tmp/rsync
.log 2>&1
done
# chmod +x /data0/inotify.sh
# nohup /data0/inotify.sh &
# echo  "nohup /data0/inotify.sh &" >> /etc/rc.d/rc.local
 
(2)WEB1安装rysnc
下载安装
rsync
#wget https://download.samba.org/pub/rsync/rsync-3.1.2.tar.gz
#tar xf rsync-3.1.2.tar.gz
#cd rsync-3.1.2
#./configure 
#make 
#make install 
配置
rsync
# cat /etc/rsyncd.conf 
uid = nobody
gid = nobody
use chroot = no
max connections = 10
pid 
file 
/var/run/rsyncd
.pid
log 
file 
/var/log/rsync
.log
lock 
file 
/var/lock/rsync
.lock
hosts deny = *
 
[WEB1]
path = 
/var/www/htm1
comment = WEB1
ignore errors
read 
only = no
write only = no
hosts allow = 192.168.9.109 192.168.1.104 192.168.5.0
/24
list = 
false
uid = root
gid = root
启动
#/usr/local/bin/rsync --daemon --config=/etc/rsyncd.conf 
#echo "/usr/local/bin/rsync --daemon --config=/etc/rsyncd.conf" >> /etc/rc.d/rc.local
 
(3)WEB2下载安装
rsync
#wget https://download.samba.org/pub/rsync/rsync-3.1.2.tar.gz
#tar xf rsync-3.1.2.tar.gz
#cd rsync-3.1.2
#./configure 
#make 
#make install 
配置
rsync
uid = nobody
gid = nobody
use chroot = no
max connections = 10
pid 
file 
/var/run/rsyncd
.pid
log 
file 
/var/log/rsync
.log
lock 
file 
/var/lock/rsync
.lock
hosts deny = *
 
[WEB2]
path = 
/var/www/htm2
comment = WEB2
ignore errors
read 
only = no
write only = no
hosts allow = 192.168.9.109 192.168.1.104 192.168.5.0
/24
list = 
false
uid = root
gid = root
 
启动
#/usr/local/bin/rsync --daemon --config=/etc/rsyncd.conf 
#echo "/usr/local/bin/rsync --daemon --config=/etc/rsyncd.conf" >> /etc/rc.d/rc.local
本文转自 wpf926 51CTO博客,原文链接:http://blog.51cto.com/wupengfei/1958258,如需转载请自行联系原作者
你可能感兴趣的文章
(三)hadoop系列之__CRT(SecureCRTPortable)的使用
查看>>
php 的多进程实践
查看>>
怎么规划未来
查看>>
nginx配置记录
查看>>
Cocos2Dx 一些琐碎的API
查看>>
Shell的18条常用命令整理
查看>>
在View中获得Doc指针
查看>>
CSS之用包含选择符控制N个相同的html标签...
查看>>
在springMVC中使用自定义注解来进行登录拦截控制
查看>>
使用create react app教程
查看>>
实验三
查看>>
Oracle数据库的监控及数据维护
查看>>
远程获取HTMl源代码导出到Word
查看>>
js过滤HTML标签以及 
查看>>
为什么不针对internal接口写单元测试?
查看>>
Django中MySQL的配置
查看>>
Python双下划线方法和单列模式
查看>>
python安装第三方的包
查看>>
C# 占位符和格式化字符串
查看>>
查询某列是null的记录
查看>>