inotify+rsync监控实时同步

监控到Centos7-001机器上的网站内容发生变化时,就同步Centos7-001:/var/www/html/目录到Centos7-002上

Centos7-001上所做的操作

  • 安装 rsync
# yum install  rsync -y
  • 生成密钥对

    [root@centos7-001 ~]# ssh-keygen 
    Generating public/private rsa key pair.
    Enter file in which to save the key (/root/.ssh/id_rsa): 
    Created directory '/root/.ssh'.
    Enter passphrase (empty for no passphrase): 
    Enter same passphrase again: 
    Your identification has been saved in /root/.ssh/id_rsa.
    Your public key has been saved in /root/.ssh/id_rsa.pub.
    The key fingerprint is:
    SHA256:3e6TNDwQTTP5BeDBusXs/7Ma/sx7LFVmSpa8PVEDNaY root@centos7-001
    The key's randomart image is:
    +---[RSA 2048]----+
    |           +*++= |
    |          ..++o.+|
    |           =.E oo|
    |         .o.+ *.+|
    |        S .*.o *o|
    |          ..* o.o|
    |           ..* o.|
    |           .+ *.o|
    |            .+oO*|
    +----[SHA256]-----+
  • 传递公钥给 Centos7-002(可查看Centos机器上是否生成 /root/.ssh/authorized_keys文件)
# ssh-copy-id [email protected]
Are you sure you want to continue connecting (yes/no)? yes
[email protected]'s password: 
  • 安装 inotify-tools 工具
# yum install epel-release -y
# yum install inotify-tools -y
# rpm -q inotify-tools
  • 利用 inotifywait 命令监控本机的 /var/www/html/目录,如发生变化就同步到Centos7-002:/web_backup上(写一个脚本 inotify.sh),在后台运行此脚本(Centos7-002上需要先安装 rsync)
[root@centos7-001 ~]# cat inotify.sh 
#!/bin/bash
dir=/var/www/html/
remote_dir=192.168.195.129:/web_backup
inotifywait -rqm -e modify,create,move,delete $dir | while read a b c
do
    rsync -azP --delete $dir root@$remote_dir
done
  • 在本地上的/var/www/html/创建文件、目录,删除文件、目录,修改文件、目录
    cd /var/www/html/
    cp -f /etc/passwd ./
    mkdir apeng
    mkdir aa
    echo inotify > aa/test.txt

Centos7-002上所做的操作

  • 安装 rsync
# yum install rsync -y
  • 观察本机的 /web-back目录

inotify+rsync监控实时同步

猜你喜欢

转载自blog.51cto.com/13480443/2286937