Linux:rsync+inotify实时同步

首先要客户机向服务器单次下载

而实时同步是向服务器实时上传

首先要实现单次下载,本章基于下面这章的续作

Linux:rsync_鲍海超-GNUBHCkalitarro的博客-CSDN博客


 准备一个inotify-tools源码包

服务器配置

vim /etc/rsyncd.conf 

 Linux:rsync+inotify实时同步_第1张图片 read only = no

setfacl -R -m user:nobody:rwx /var/www/html

setfacl -R -m default:nobody:rwx /var/www/html

getfacl /var/www/html


Linux:rsync+inotify实时同步_第2张图片


客户端 

vi /etc/sysctl.conf 

末尾添加

fs.inotify.max_queued_events = 16384
fs.inotify.max_user_instances = 1024
fs.inotify.max_user_watches = 1048576

Linux:rsync+inotify实时同步_第3张图片

sysctl -p

Linux:rsync+inotify实时同步_第4张图片

安装inotify-tools辅助工具
  inotifywait:用于持续监控,实时输出结果
  inotifywatch:用于短期监控,任务完成后再出结果 

tar zxf inotify-tools-3.14.tar.gz 

cd inotify-tools-3.14

./configure 

make && make install 

 inotifywait -mrq -e modify,create,move,delete /var/www/html

# 使用inotify实时监视/var/www/html文件变动

# 可以让他一直监视这,这时你可以打开新的终端,去修改/var/www/html里的文件

会有提示

# 这步只是用于测试行不行

Linux:rsync+inotify实时同步_第5张图片

vi /opt/inotify_rsync.sh 

根据你自己的去修改

#!/bin/bash

inotifywait -mrq -e modify,create,attrib,move,delete /var/www/html/ | while read file

do

        rsync -azH --delete --password-file=/etc/server.pass /var/www/html/ [email protected]::http &>/dev/null

done &

 chmod +x /opt/inotify_rsync.sh

echo '/opt/inotify_rsync.sh' >> /etc/rc.local

开机自动执行 

cd /opt

./inotify_rsync.sh 

这时去客户端上调整文件,服务器上的也会一起变 

 都没有了

Linux:rsync+inotify实时同步_第6张图片Linux:rsync+inotify实时同步_第7张图片

Linux:rsync+inotify实时同步_第8张图片 

 

目前只能在客户机上,如果你想让他俩相互同步,用这个技术一样可以,相互监视

这样就同步成功了

你可能感兴趣的:(linux,运维,服务器)