目录

  • rsync远程同步
  • 搭建rsync
  • 搭建inotify

rsync远程同步

rsync远程同步是一款主要为快速增量备份的工具;可以用于本地的复制,也可以用户跨主机(ssh/rsync主机同步)之间的复制;官网:https://rsync.samba.org/

搭建rsync

配置rsync源服务器
[root@node1 ~]# yum -y install rsync
[root@node1 ~]# vim /etc/rsyncd.conf   #把所有内容删掉然后添加下面的内容
uid = nobody   #以匿名用户方式登录
gid = nobody
use chroot = yes   #禁锢源目录
address = 192.168.218.214  #指定rsync源服务器地址
port 873        #指定端口号
log file = /var/log/rsyncd.log #日志位置
pid file = /var/run/rsyncd.pid #pid位置
hosts allow = 192.168.218.214/24   #允许访问的客户机网段
[wwwroot]
path = /var/www/html       #源目录的路径
comment = Document Root of www.ljm.com     #标识rsync源的域名
read only = yes                #开启只读
dont comperss = *.gz *.bz2 *.tgz *.zip *.rar *.z
auth users = backuper      #授权用户,可以设置多个用户,多个用户以空格区分
secrets file = /etc/user.db    #存放用户信息的数据文件[root@node1 ~]# vim /etc/user.db   #编辑该文件
backuper:123        #写入用户和用户的密码
[root@node1 ~]# chmod 600 /etc/user.db
[root@node1 ~]# mkdir -p /var/www/html
[root@node1 ~]# chmod +r /var/www/html
[root@node1 ~]# ls -ld /var/www/html/
drwxr-xr-x 2 root root 6 11月 17 2020 /var/www/html/
[root@node1 ~]# rsync --daemon     #开启rsync服务
[root@node1 ~]# netstat -napt |grep 873
tcp        0      0 192.168.218.214:873     0.0.0.0:*               LISTEN      86385/rsync[root@node1 ~]# echo "persona" > /var/www/html/1.txt
[root@node1 ~]# cat /var/www/html/1.txt
persona

客户端操作

[root@node2 elasticsearch-head]# mkdir /abc
[root@node2 elasticsearch-head]# rsync -avz backuper@192.168.218.214::wwwroot /abc/       #同步源服务器的wwwroot全局模块指定的源目录到/abc目录下
Password:
receiving incremental file list
./
1.txtsent 46 bytes  received 113 bytes  35.33 bytes/sec
total size is 8  speedup is 0.05
[root@node2 elasticsearch-head]# cd ~
[root@node2 ~]# ls /abc
1.txt
[root@node2 ~]# cat /abc/1.txt
persona

设置免密登录

[root@node2 ~]# echo "123" > /etc/server.pass
[root@node2 ~]# chmod 600 /etc/server.pass
[root@node2 ~]# rsync -avz --password-file=/etc/server.pass backuper@192.168.218.214::wwwroot /abc/      #免密登录要在同步时指定密码文件
receiving incremental file listsent 20 bytes  received 58 bytes  156.00 bytes/sec
total size is 8  speedup is 0.10

搭建inotify

服务端配置

[root@node1 ~]# vim /etc/rsyncd.conf    #编辑rsync配置文件
uid = root     #改为root
gid = root
read only =no  #关闭只读#重启rsync服务
[root@node1 ~]# kill `cat /var/run/rsyncd.pid`
[root@node1 ~]# netstat -napt |grep 873
[root@node1 ~]# rsync --daemon
[root@node1 ~]# netstat -napt |grep 873
tcp        0      0 192.168.218.214:873     0.0.0.0:*               LISTEN      87070/rsync

客户端配置

[root@node2 ~]# vim /etc/sysctl.conf
fs.inotify.max_queued_events = 32768
fs.inotify.max_user_instances = 1024
fs.inotify.max_user_watches = 1048576
[root@node2 ~]# sysctl -p
[root@node2 ~]# yum -y install gcc gcc-c++
#安装inotify
[root@node2 ~]# tar zxvf inotify-tools-3.14.tar.gz -C /opt
[root@node2 ~]# cd /opt/inotify-tools-3.14/
[root@node2 inotify-tools-3.14]# ./configure
[root@node2 inotify-tools-3.14]# make && make install[root@node2 abc]# cd ~
#创建一个实时监控并同步的脚本
[root@node2 ~]# vim /opt/inotify.sh
#!/bin/bash
INOTIFY_CMD="inotifywait -mrq -e create,delete,move,modify,attrib /abc/" #监控/abc目录的各种改动操作
RSYNC_CMD="rsync -apzH --delete --password-file=/etc/server.pass /abc/ backuper@192.168.218.214::wwwroot/"     #进行同步,将/abc目录下的文件同步到源服务器上
$INOTIFY_CMD | while read DIRECTORY EVENT FILE
doif [ $(pgrep rsync | wc -l) -le 0 ] ; then        #进行判断,如果/abc目录下有修改则进行同步$RSYNC_CMDfi
done[root@node2 ~]# chmod +x /opt/inotify.sh
[root@node2 ~]# chmod +x /etc/rc.d/rc.local
[root@node2 ~]# echo "/opt/inotify.sh" >> /etc/rc.d/rc.local   #设置开机自启
[root@node2 ~]# sh -x /opt/inotify.sh      #执行脚本
然后再开一个终端,进入/abc/目录下创建文件
[root@node2 inotify-tools-3.14]# cd /abc
[root@node2 abc]# ls
1.txt  2.txt  666
[root@node2 abc]# touch 123456

服务端查看/var/www/html目录

rsync+inotify介绍相关推荐

  1. inotify介绍及rsync + inotify 实时同步备份

    1.前言 rsync (remote sync)是一款非常好的数据同步工具,能够通过对比同步双方的数据变动,实现增量同步,还可以通过LAN/WAN实现远程多台主机间文件的同步,还能结合crond任务计 ...

  2. Centos7 下 配置 rsync 以及 rsync+inotify 实时同步

    Centos 7 下 配置 Rsync 以及 rsync+inotify 实时同步 rsync介绍 rsync是一个开源的快速备份工具,可以在不同主机之间镜像同步整个目录树,支 持增量备份,保持链接和 ...

  3. 通过rsync+inotify实现数据的实时备份

    在前面的博文中,我讲到过利用rsync实现数据的镜像和备份,但是要实现数据的实时备份,单独靠rsync还不能实现,本文就讲述下如何实现数据的实时备份. 一.rsync的优点与不足 与传统的cp.tar ...

  4. rsync+inotify实时备份

    rsync+inotify实时备份 为什么要使用inotify? 远程同步方式,我们一般采用rsync命令.或者守护进程的方式. 优点:具有安全性高.备份迅速.支持增量备份. 缺点:1.rsync同步 ...

  5. linux下rsync+inotify实现服务器之间文件实时同步

    先介绍一下rsync与inotify. 1.rsync 与传统的cp.tar备份方式相比,rsync具有安全性高.备份迅速.支持增量备份等优点,通过rsync可以解决对实时性要求不高的数据备份需求,例 ...

  6. 利用ssh+rsync+inotify实现数据的异地实时同步

    在服务器中,通常结合计划任务.shell脚本来执行本地备份.为了进一步提高备份的可靠性,使用异地备份也是非常重要的,利用rsync工具,可以实现快速.高效的异地备份.本篇博客将配置rsync+cron ...

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

    之前做了"ssh信任与scp自动传输脚本"的技术文档,此方案是作为公司里备份的方法,但在实际的运行中,由于主服务器在给备份服务器传输的时候,我们的主服务器需要备份的文件是实时.不停 ...

  8. rsync+inotify实现实时同步案例--转

    转自:http://chocolee.blog.51cto.com/8158455/1400596 随着应用系统规模的不断扩大,对数据的安全性和可靠性也提出的更好的要求,rsync在高端业务系统中也逐 ...

  9. rsync+inotify实现实时同步案例

    随着应用系统规模的不断扩大,对数据的安全性和可靠性也提出的更好的要求,rsync在高端业务系统中也逐渐暴露出了很多不足,首先,rsync同步数据时,需要扫描所有文件后进行比对,进行差量传输.如果文件数 ...

最新文章

  1. 转 多租户SaaS架构
  2. (39)通过 PID 获取 EPROCESS
  3. python文件名有空格_python 解决Windows平台上路径有空格的问题
  4. 在计算机安全系统中,探究免疫思想在计算机安全系统中的应用
  5. python pip国内源_Python 修改pip源为国内源
  6. java 集合modcount_源码|jdk源码之LinkedList与modCount字段
  7. 记模拟面试日记(更新...)
  8. Matlab中数组下标是logical,如何处理?
  9. 持续集成部署工具jenkins简介
  10. Lc1013将数组分成相等的三个部分
  11. Tensorflow2.0:使用Keras自定义网络实战
  12. 利用node.js以及express框架初始化服务端
  13. 卡巴斯基激活试用方法
  14. 双主动桥隔离双向DC-DC变换器(三) 控制策略
  15. 2022苹果CMS全新二开影视源码App源码完整版
  16. office 论文 页码_「论文页码设置」Word论文页码怎么设置连续?老师傅教你一份设置技巧(很多还不知道) - seo实验室...
  17. 山寨google, 新做了1个网站 googler.cc ,做的很山寨 喜欢的朋友可以去看看哈
  18. stm32采集脉冲信号_stm32用ETR采集外部脉冲个数出现二分频问题,请教哪里设置......
  19. 有卡却显示无服务器,为什么卡一直显示无服务
  20. 热修复(一)原理与实现详解

热门文章

  1. php化学方程式检索查询网站
  2. DOM操作class属性的方法
  3. nginx根据二级域名转发不同的地址
  4. 使用vue实现多规格选择实例
  5. Excel字符串截取函数纪要
  6. 让CyberArticle支持Firefox
  7. pytorch测试代码
  8. (附源码)php+mysql+php沿河农产品特卖网站的设计与实现 毕业设计201524
  9. 接受窗口消息如何知道是谁发的_领导给你发信息,应该这样回
  10. 夜神模拟器安装xposed install中的注意点