首先要客户机向服务器单次下载
而实时同步是向服务器实时上传
首先要实现单次下载,本章基于下面这章的续作
Linux:rsync_鲍海超-GNUBHCkalitarro的博客-CSDN博客
准备一个inotify-tools源码包
服务器配置
vim /etc/rsyncd.conf
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
客户端
vi /etc/sysctl.conf
末尾添加
fs.inotify.max_queued_events = 16384 fs.inotify.max_user_instances = 1024 fs.inotify.max_user_watches = 1048576
sysctl -p
安装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里的文件
会有提示
# 这步只是用于测试行不行
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/ zhangsan@192.168.254.11::http &>/dev/null done &
chmod +x /opt/inotify_rsync.sh
echo '/opt/inotify_rsync.sh' >> /etc/rc.local
开机自动执行
cd /opt
./inotify_rsync.sh
这时去客户端上调整文件,服务器上的也会一起变
都没有了
目前只能在客户机上,如果你想让他俩相互同步,用这个技术一样可以,相互监视
这样就同步成功了