码迷,mamicode.com
首页 > 其他好文 > 详细

centos7 inotify与rsync实现实时同步服务搭建

时间:2019-05-19 15:51:41      阅读:144      评论:0      收藏:0      [点我收藏+]

标签:事先   时间   not   erro   bin   账号密码   lock file   while   wait   

**需要准备两台虚拟机 一台rsync的客户端 192.168.1.14 一台rsync的服务器 192.168.1.12 inotify的服务器配置 yum install inotify-tools 192.168.1.14由于inotify是内核级别的应用,我们不能直接操作内核 需要借用一些关于inotify的相关工具 inotifywa /data/ 监控此目录 一次性操作,复制ssh渠道 在复制渠道/data目录下进行增删改查的操作 观察监控窗口的变化 inotifywait -mrq /data/ 持续递归监控此目录,-m持续 -q输出主要信息 -r 递归;复制ssh渠道 在复制渠道/data目录下进行增删改查的操作 观察监控窗口的变化 inotifywait -o /root/intify.log -drq /data/ 以进程方式递归监控/data目录,输出的主要信息到/root下的intify.log日志里面 ,-d以进程方式执行 -o+文件路径 ;指定输出的信息到指定文件下,复制ssh渠道 在监控窗口下进行增删改查的操作 在复制渠道的 /root/intify.log这个日志中观察变化 inotifywait -mrq --timefmt "%Y-%m-%d %H:%M" --format "%T %w%f event: %;e" /data/ -e CREATE,MOVED_TO,DELETE,ATTRIB 只监控指定操作的类型时间 -e+事件的类型;监控事件类型的内容复制ssh渠道 在复制渠道/data目录下进行增删改查的操作 观察监控窗口的变化, rsync服务器的搭建,独立端口为873 mkdir /backup 在192.168.1.12建一个目录,测试与对端主机的目录事件同步 vim /etc/rsyncd.conf use chroot = no max connections = 0 ignore errors exclude = lost+found/ log file = /var/log/rsyncd.log pid file = /var/run/rsyncd.pid lock file = /var/run/rsyncd.lock reverse lookup = no hosrs allow = 192.168.1.0/24 [backup] path = /backup/ comment = backup read only = no auth users =rsyncuser secrets file = /etc/rsync.pass 在192.168.1.12rsync服务器端写入配置 此配置注释 1,2 行为指定以谁的身份运行 3 行为,是否支持 切根 4 行为,是否限制他的并发连接数 0为 不限制 5 行为 如果错误,做忽略错误执行 6 行为指定的类型文件夹直接过滤 不做备份 7,8,9 行为 日志 id 锁文件的备份路径 10 行为涉及到 ip 地址是否反向解析 为提高效率 设定no为不解析 11 行为控制访问用户的范围 12 行为rsync要把同步过来的数据存放的目录名字 13 行为指定同步过来的数据存放的path路径 14 行为存放同步文件夹的说明 15 行为存放同步文件夹的权限 16 行为对方连接rsync的用户名 17 行为对方连接rsync的口令存放的路径 注意;账号密码需要事先写好,同步过来的数据存放的文件夹也需要事先准备好 echo "rsyncuser:magedu" > /etc/rsync.pass chmod 600 /etc/rsync.pass 在192.168.1.12编写其他用户连接rsync服务器的账号与密码 并且把它放到一个指定文件里 注意设置600权限避免被其他人看到 systemctl start rsyncd 启动服务 echo "magedu" > /etc/rsync.pass chmod 600 /etc/rsync.pass rsync -avz --password-file=/etc/rsync.pass /data/ rsyncuser@192.168.1.12::backup 在192.168.1.14 inotify客户端的的操作;配置客户端的密码文件, 并且测试是否同步成功 vim inotify_rsync.sh #!/bin/bash SRC=‘/data/‘ DEST=‘rsyncuser@192.168.1.12::backup‘ inotifywait -mrq --timefmt ‘%Y-%m-%d %H:%M‘ --format ‘%T %w %f‘ -e create,delete,moved_to,close_write,attrib ${SRC} | while read DATE TIME DIR FILE;do FILEPATH=${DIR}${FILE} rsync -az --delete --password-file=/etc/rsync.pass $SRC $DEST && echo "At ${TIME} on ${DATE}, file $FILEPATH was backuped up via rsync" >> /var/log/changelist.log done 这是一个关于数据同步的无限死循环的脚本,需要在192.168.1.14 inotify一端编写执行 rm -rf /data/* touch /data/f{1..6} 在192.168.1.14最后测试数据是否可以同步 **```

centos7 inotify与rsync实现实时同步服务搭建

标签:事先   时间   not   erro   bin   账号密码   lock file   while   wait   

原文地址:https://blog.51cto.com/14234525/2396910

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!