Linux inotify+rsync+ssh数据时时同步(2)

ludy@server1:~/.ssh$ scp id_rsa.pub root@192.168.6.3:~/.ssh
    拷贝过去后,进入server2 id_rsa.pub 把 名字改为 authorized_keys
    root@server2:~/.ssh$  mv id_rsa.pub authorized_keys
    root@server2:~/.ssh$ shown root:root authorized_keys     //改变使用者 root
    root@server2:~/.ssh$ chmod 600  authorized_keys          //改变权限

4.在server1编写shell脚本
    cat inosync.sh

#!/bin/sh
    SRC=https://www.linuxidc.com/home/ludy/rsync/
    DST=root@192.168.6.3:/home/ludy
    INWT=/usr/local/inotify/bin/inotifywait
    RSYNC=/usr/bin/rsync

$INWT -mrq -e create,move,delete,modify $SRC | while read D E F;do
            rsync -aHqzt $SRC $DST
    done
    我解释一下
    $INWT -mrq -e create,move,delete,modify $SRC | while read D E F;do
            rsync -aHqzt --delete $SRC $DST
    -m 是保持一直监听
    -r 是递归查看目录
    -q 是打印出事件~
    -e create,move,delete,modify
    监听 创建 移动 删除 写入 事件

rsync -aHqzt $SRC $DST

-a 存档模式
    -H 保存硬连接
    -q 制止非错误信息
    -z 压缩文件数据在传输
    -t 维护修改时间
    -delete 删除于多余文件
    5.测试

ludy@server1:~$ ./inosync.sh &

ludy@server1:~$ cd rsync

ludy@server1:~/rsync$ touch asdfa

在server2 机器查看

root@server2:/home/ludy$ ls
    asdfa

注意,可能第一次SSH 连接的时候需要输入一次密码,以后就不需要输入了~

本文出自 “linuxer” 博客,请务必保留此出处

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

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