05.11 inotify+rsync构建实时同步

第一章 部署rsync守护进程模式

1. 服务端的配置:
检查是否安装rsync
配置rsyncd.conf
创建rsync进程管理用户
创建模块目录
修改存储目录的属主和属组权限
配置认证密码文件,授权600权限
启动rsync守护进程,
设置rsync服务自启动
进行测试

2. 客户端的配置:
创建密码文件,授权600
客户端进行测试

rsync -avzP /data/ rsync_backup@172.16.1.7::backup --password-file=/etc/rsync.password --delete

第二章 部署inotify实时同步软件

1. inotify的工作机制(属于出发机制)
客户端开启运行inotify服务进程,检测共享目录的数据变化。
获取到共享目录数据发生变化,通知执行rsync命令同步数据。
将变化发送到rsync服务端(开启rsync守护进程服务器)的共享目录中。

2. inotify查看系统是否支持

[root@backup backup]# uname -r
2.6.32-642.el6.x86_64
yum install inotify-tools -y

[root@backup backup]# ll /proc/sys/fs/inotify/
total 0
-rw-r--r-- 1 root root 0 May 11 20:18 max_queued_events
-rw-r--r-- 1 root root 0 May 11 20:18 max_user_instances
-rw-r--r-- 1 root root 0 May 11 20:18 max_user_watches

显示这三个文件证明支持inotify程序功能
这三个文件用来限制通过inotify接口消耗内核内存的数量;

max_queued_events   设置inotifywait或inotifywatch命令可以监视的文件数量
max_user_instances  设置每个用户可以运行的inotifywait或inotifywatch命令的进程数
max_user_watches    设置inotify实例时间(event)队列可容纳的事件数量

3. inotifywait命令参数

命令参数参数说明
-m*****–monitor
-d|–daemon类似于-m参数,只是将命令运行在后台,记录触发的事件信息在指定文件中
-r*****递归监控目录数据信息变化
-o打印事件到文件中,相当于标准正确输出
-q*****输出信息少,只打印事件信息
–excludei排除文件或目录时,不区分大小写
–timefmt*****指定事件输出的格式
–format*****打印使用指定的输出类似格式字符串;即实时监控输出的内容。
-e*****指定监听指定的事件,如果省略,表示所有时间都进行监听。

事件名称事件说明
access文件或目录被读取
modify文件或目录内容被写入
attrib文件或目录属性改变
close_write*****文件或目录关闭,在写入模式打开之后关闭的
close_nowrite文件或目录关闭,在只读模式打开之后关闭的
close文件或目录关闭,不管读或写模式
open文件或目录被打开
moved_to文件或目录被移动到被监控的目录中
moded_from文件或目录被移动从被监控的目录中
move*****文件或目录不管移动或是移动出监控的目录都出发事件
create*****文件或目录创建在监控的目录中
delete文件或目录被删除在监控的目录中
unmount文件系统包含的文件或目录不能卸载

4. inotify手动测试

[root@nfs01 data]# inotifywait -mrq /data/ --timefmt '%d/%m/%y %H:%M' --format '%T %w%f' -e create
11/05/17 10:44 /data/tesa

5. 编写脚本后台运行

[root@CentOS7-111 data]# cat /server/script/inotifywait.sh 
#!/bin/bash
#desc: monitor /data and push datainfo to backup_server
/usr/bin/inotifywait -mrq --format "%w%f" -e moved_to,delete,create,close_write /data|\
while read line
do
echo $line
rsync -az --delete /data/ rsync_backup@172.16.1.7::backup --password-file=/etc/rsync.password
done

第三章 inotify优缺点与sersync

1. inotify+rsync:
优点:监控文件系统事件变化,通过同步工具实现实时数据同步
缺点:并发如果大于200个文件,(0-100k),同步就会有延迟
前面写的脚本,每次都是全部推送一次,但确实增量的。也可以只同步变化的文件,不变化的不理。
监控到时间后,请用rsync同步时单进程的(加&并发),sersync是多进程同步。

2. Sersync功能信息:
支持配置文件管理
真正的守护进程(socket)
可以对失败文件定时重传(定时任务功能)
第三方的HTTP接口(例如更新cdn缓存)
默认多线程同步


第四章 查看端口的方法总结

1. ss

[root@nfs01 ~]# ss -lntup |egrep 22
udp    UNCONN     0      0                      *:57343                 *:*      users:(("rpc.statd",1223,7))
udp    UNCONN     0      0              127.0.0.1:975                   *:*      users:(("rpc.statd",1223,4))
udp    UNCONN     0      0                     :::40163                :::*      users:(("rpc.statd",1223,9))
tcp    LISTEN     0      128                   :::22                   :::*      users:(("sshd",1349,4))
tcp    LISTEN     0      128                    *:22                    *:*      users:(("sshd",1349,3))
tcp    LISTEN     0      128                    *:15735                 *:*      users:(("rpc.statd",1223,8))
tcp    LISTEN     0      128                   :::28156                :::*      users:(("rpc.statd",1223,10))

2. netstat

[root@nfs01 ~]# netstat -lntup |egrep 22
tcp        0      0 0.0.0.0:22                  0.0.0.0:*                   LISTEN      1349/sshd           
tcp        0      0 0.0.0.0:15735               0.0.0.0:*                   LISTEN      1223/rpc.statd      
tcp        0      0 :::22                       :::*                        LISTEN      1349/sshd           
tcp        0      0 :::28156                    :::*                        LISTEN      1223/rpc.statd      

3. lsof

[root@nfs01 ~]# lsof -i :22
COMMAND  PID USER   FD   TYPE DEVICE SIZE/OFF NODE NAME
sshd    1349 root    3u  IPv4  11110      0t0  TCP *:ssh (LISTEN)
sshd    1349 root    4u  IPv6  11112      0t0  TCP *:ssh (LISTEN)

4. namp

[root@nfs01 ~]# nmap -p 22 10.0.0.41

Starting Nmap 5.51 ( http://nmap.org ) at 2017-05-12 15:07 CST
Nmap scan report for 10.0.0.41
Host is up (0.00028s latency).
PORT   STATE SERVICE
22/tcp open  ssh
MAC Address: 00:0C:29:A0:B1:48 (VMware)

Nmap done: 1 IP address (1 host up) scanned in 0.08 seconds

5. telnet

telnet 10.0.0.41 22
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值