此处需要注意,上述配置文件中,备份服务器的配置需要和源服务器一模一样,除了备份服务器的否则在源服务器上行文件时会报错。尤其是密码文件权限和独立密码文件权限需要为600,否则也会报错。
启动服务
rsync --daemon
结束服务,kill进程即可。
4.1、创建账户验证文件根据配置文件中,按需创建,注意文件路径与名称。
vim /etc/rsyncd_users.db
test:abc123 //"用户名:密码"的形式
chmod 600 /etc/rsyncd_users.db
由于这种形式在执行命令时需要交互式验证,因此需要创建独立密码验证文件。
4.2、创建独立密码文件vim /etc/server.pass
abc123 //只含密码的文件
chmod 600 /etc/server.pass
4.3、编写触发式同步脚本vim /opt/ino.sh
#!/bin/bash
DESIP=192.168.144.120 //设置源服务器需要将文件上行(发送)到备份服务器IP地址
INOTIFY_CMD="inotifywait -mrq -e modify,create,attrib,move,delete /var/www/html/"
RSYNC_CMD="rsync -azH --delete --password-file=/etc/server.pass /var/www/html/ test@$DESIP::abc/"
$INOTIFY_CMD | while read DIRECTORY EVENT FILE
do
if [ $(pgrep rsync | wc -l) -gt 0 ] ; then
$RSYNC_CMD
fi
done
此处需要注意,在两台服务器需要同步的目录之间,也需要将目录权限放到最大,避免因目录本身权限报错。
chmod +x /opt/ino.sh
4.4、源服务器端测试执行脚本后,当前终端会变成实时监控界面,需要重新打开终端操作。
在源服务器端共享模块目录下进行文件操作,然后去备份服务器下,可观察到文件已经被实时同步。
更多rsync相关教程见以下内容:
CentOS 6.5 rsync+inotify实现数据实时同步备份 https://www.linuxidc.com/Linux/2016-11/137655.htm
rsync+inotify实现数据的实时同步 https://www.linuxidc.com/Linux/2017-01/139778.htm
rsync+inotify实现服务器之间文件实时同步详解 https://www.linuxidc.com/Linux/2016-11/137659.htm
Rsync结合Inotify 实时同步配置 https://www.linuxidc.com/Linux/2017-02/140877.htm
RSync实现数据备份 https://www.linuxidc.com/Linux/2017-06/144913.htm
inotify+rsync实现数据实时同步 https://www.linuxidc.com/Linux/2017-10/147901.htm
rsync+inotify实现数据的实时备份 https://www.linuxidc.com/Linux/2016-11/137630.htm
rsync+inotify实现数据自动同步 https://www.linuxidc.com/Linux/2017-03/141717.htm
使用rsync实现数据实时同步备份 https://www.linuxidc.com/Linux/2017-05/143462.htm
unison+inotify实现数据实时双向同步 https://www.linuxidc.com/Linux/2018-01/150468.htm
Linux公社的RSS地址:https://www.linuxidc.com/rssFeed.aspx