linux下实现两台服务器实时同步方法介绍


当前第2页 返回上一页

1

2

3

4

5

6

7

#!/bin/bash

src=/opt/test/

/usr/local/bin/inotifywait -mrq --timefmt '%d/%m/%y %H:%M' --format '%T %w%f%e' -e close_write,delete,create,attrib $src |  while read file

do

      /usr/bin/rsync -arzuq $src 192.168.0.1::www/

      echo "  ${file} was rsynced" >>/opt/soft/log/rsync.log 2>&1

done

赋予执行权限: chmod +x inotify_bak.sh

然后执行:nohup inotify_bak.sh & 放入后台执行

4. 关于启动

目标服务器:先启动rsync后台服务: /usr/bin/rsync --daemon

来源服务器: 执行 inotify_bak.sh &

5. 测试:

在来源服务器目录中新建目录和文件,inotify_bak.sh脚本会检测到,然后同步到目标服务器的相关目录下

可以查看日志文件: /opt/soft/log/rsync.log 命令如下:观察实时同步的情况。

1

tail -f  /opt/soft/log/rsync.log

错误解决:

/usr/local/bin/inotifywait: error while loading shared libraries: libinotifytools.so.0: cannot open shared object file: No such file or directory

这是因为找不到库文件的原因,做一个软连接就好了

1

ln -s /usr/local/lib/libinotifytools.so.0 /usr/lib64/libinotifytools.so.0

以上就是linux下实现两台服务器实时同步方法介绍的详细内容,更多文章请关注木庄网络博客

返回前面的内容

相关阅读 >>

如何快速排查无法打开 ecs 实例上运行的网站

通过describenetworkinterfaces查看弹性网卡(eni)列表

Linux使用mail命令发送邮件的方法

Linux怎么查看防火墙是否关闭了

Linux怎么保存

Linux系统查看磁盘空间的命令是什么

Linux如何获取cpu信息?

Linux下命令不识别怎么办

如何使用共享的自定义镜像创建ecs实例或者更换实例的系统盘

Linux无法正常安装与卸载node.js的方法实例

更多相关阅读请进入《Linux》频道 >>



打赏

取消

感谢您的支持,我会继续努力的!

扫码支持
扫码打赏,您说多少就多少

打开支付宝扫一扫,即可进行扫码打赏哦

分享从这里开始,精彩与您同在

评论

管理员已关闭评论功能...