rsync单项同步

配置rsync+inotify实时单向同步web

按期同步的缺点:
执行备份的时间固定,延期明显,实时性差
当同步源长期不变化时,密集的按期任务是没必要要的(浪费资源)
实时同步的优势:
一旦同步源出现变化,当即启动备份,实时性好
只要同步源无变化,则不执行备份,节省资源vim

建立主配置文件(vim /etc/rsyncd.conf)
address = 192.168.88.10 #rsync服务绑定IP
port 873 #默认服务端口873
log file = /var/log/rsyncd.log #日志文件位置
pid file = /var/run/rsyncd.pid #进程号文件位置
[web] #共享名:用来链接是写在url上的,切记 这里推荐共享名和共享目录名同样最好
comment = web directory backup #共享描述话语
path = /filesrc #实际共享目录
read only = no #是否仅容许读取
dont compress = *.gz *.bz2 #哪些文件类型不进行压缩
auth users = user1 #登陆用户名自写
secrets file = /etc/rsyncd_users.db #认证所需帐户密码文件(需自行建立-同上)bash

b.建立认证所需帐户密码文件
# vim /etc/rsyncd_users.db
user1:123456
# chmod 600 /etc/rsyncd_users.db 须修改权限,不然登陆报错服务器

c.启动服务
# rsync --daemon
# netstat -antp | grep :873url

d.设置映射用户对共享目录有权限(r)
# setfacl -m u:nobody:rwx /filesrc操作系统

inotify简介
inotify 是一个 Linux 内核特性,它监控文件系统,而且及时向专门的应用程序发出相关的事件警告,好比删除、读、写和卸载操做等。要使用 inotify,必须具有一台带有日志

2.6.13 版本的内核操做系统。
inotify两个监控命令:
inotifywait:用于持续监控,实时输出结果(经常使用)
inotifywatch:用于短时间监控,任务完成后再出结果
inotify部署递归

yum -y install gcc*

tar -xf inotify-tools-3.14.tar.gz

cd inotify-tools-3.14

./configure && make && make install

inotifywait命令格式
格式:inotifywait -mrq -e 监控动做1,监控动做2 /监控目录 &
示例:inotifywait -mrq -e create,delete /filesrc &
-m:始终保持事件监听状态
-r:递归查询目录
-q:只打印监控事件的信息
监控动做:modify(内容),create,attrib(权限),move,delete队列

利用rsync+inotifywait结合脚本实现单向实时同步进程

vim src.sh

!/bin/bash

a="inotifywait -mrq -e create,delete /filesrc" filesrc是指共享的目录名
b="rsync -avz /filesrc/* root@192.168.88.20:/filedst" filedst是指同步到对方的那个目录
$a | while read directory event file #while判断是否接收到监控记录
do
$b
done
注:用户登陆时要求免密码验证

脚本最好放在家目录下运行。

实验结果验证
在服务器端建立,删除文件,查看备份端是否正常

拓展:调整inotify监控的文件数量 调整inotify内核参数(/etc/sysctl.conf) mak_queue_events 监控队列大小 mak_user_instances 最多监控实例数 max_user_watches 每一个实例最多监控文件数

相关文章
相关标签/搜索