两台服务器文件实时同步如何在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

错误解决:

1

/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下实现的方案的详细内容,更多文章请关注木庄网络博客

返回前面的内容

相关阅读 >>

解决linux中unzip解压时中文乱码

如何查看linux服务器的内存使用情况

ecs如何赋予实例一定的访问权限――ram 角色

如何查看云助手命令的执行结果并且在指定ecs实例中的实际执行结果

linux无法启动的原因及解决方法

ssh访问linux出现乱码

linux系统中su与sudo的用法

unix / linux如何配置文件和目录访问权限?

linux怎么安装telnet

怎么使用instancemonitordatatype实例的监控数据集合

更多相关阅读请进入《服务器文件》频道 >>



打赏

取消

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

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

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

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

评论

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