加入收藏 | 设为首页 | 会员中心 | 我要投稿 瑞安网 (https://www.ruian888.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 服务器 > 搭建环境 > Linux > 正文

rsync+inotify实现服务器之间文件实时同步--转

发布时间:2021-02-06 01:28:52 所属栏目:Linux 来源:网络整理
导读:之前做了“ssh信任与scp自动传输脚本”的技术文档,此方案是作为公司里备份的方法,但在实际的运行中,由于主服务器在给备份服务器传输的时候,我们的主服务器需要备份的文件是实时、不停的产生的,造成不知道主服务器给备份服务器传输了多少文件,磁盘空间

、安装(备份服务器只安装)

  1. [root@nginx-backup?src]#?ll ?
  2. drwxr-xr-x?2?root?root?4096?Jan?26??2010?debug ?
  3. [root@nginx-backup?src]#?wget??http://rsync.samba.org/ftp/rsync/src/rsync-3.0.9.tar.gz ?
  4. [root@nginx-backup?src]#?cd?rsync-3.0.9 ?
  5. [root@nginx-backup?rsync-3.0.9]#?make ?
2、建立用户与密码认证文件
    ?/usr/local/rsync/rsync.passwd?
请记住,在server端建立的密码文件,只有密码,没有用户名;而在备份服务端client里建立的密码文件,用户名与密码都有。
需要给密码文件600权限 3、建立rsync配置文件
  1. gid?=?root?
  2. max?connections?=?10?
  3. pid?file?=?/var/run/rsyncd.pid ?
  4. log?file?=?/var/log/rsyncd.log ?
  5. path?=?/tmp/ ?
  6. ignore?errors ?
  7. write?only?=?no?
  8. hosts?deny?=?* ?
  9. uid?=?root?
  10. auth?users?=?webuser?
  1. libiconv.so:?/usr/local/lib/libiconv.so.2?/usr/local/lib/libiconv.so ?
>?/etc/ld.so.conf ?
  • ?[root@nginx-backup?rsync]#?ldconfig ?
    1. >?/etc/rc.local?
    现在rsync与inotify在server端安装完成,rsync在备份服务器client端也安装完成 下面是server端的tmp文件情况 下面是client端tmp的文件情况 接下来我们来做一下测试,在server里创建个test-rsync文件,看看client是否能收到 在看client端是否有test-rsync文件,同时client端的tmp目录文件是否与server端的文件完全一致 可以看到在client端,已经收到了test-rsync文件,而且client的tmp里的文件与server里tmp的文件完全相同、文件数目一致。 现在rsync与inotify的搭建与配置完成了,并实现了服务器直接数据的实时同步;大家可以根据自己的需要来进行相应的配置。 BTW:在rsync+inotify这种备份方法的时候,我公司遇到了一个问题,那就是主服务已经给备用服务同步完数据了,但主服务器磁盘看见满了,需要把已经备份的文件删除,但同时在备份服务器里保留主服务器里的文件,也就是说主服务器里删除文件的时候,备份服务器里不跟着删除文件,我查看了很多英文文档,测试了很多遍,最后找到了一个解决方法,那就是在主服务器里,把rsync.sh这个脚本里第9行的--delete参数给去掉,就可以解决这个问题。

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

    (编辑:瑞安网)

    【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    热点阅读