配置rsync+inotify实现站点文件实时同步(2)

此处需要注意,上述配置文件中,备份服务器的配置需要和源服务器一模一样,除了备份服务器的否则在源服务器上行文件时会报错。尤其是密码文件权限和独立密码文件权限需要为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

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/e5aef7c7d3a32460194b2b27b67cea2b.html