centos 7
服务端:192.168.59.3
客户端:192.168.59.4
防火墙,selinux,关闭
1)远程同步工具,数据备份
2)本地复制,或者与其他ssh,rsync进行同步
3)官网 http://rsync.samba.org
rsync 【选项】 源文件 目标目录
复制:完全拷贝源文件到目标文件
同步:增量拷贝,只传输变化过的数据
选项:
-n 做测试同步,不能做实际修改
-delete 删除目标文件夹内多余的文件
-a 归档
-v 显示详细操作信息
-z 传输过程中启用压缩、解压
比如服务器在北京,我们的客户在广东,如果中间没有cdn,客户就需要直接访问北京的服务器,但是我们怎样把主服务器的数据同步到中间的cdn的服务器,这个时候就需要用到innotify+rsync实现数据的实时同步。
默认安装在/usr/local/bin目录,一共两个程序 inotifywait和inotifywatch
这样就算安装成功了。 inotiry的简单使用介绍,这个工具一般用来监控文件目录的变动,新建修改删除,属性变动等,inotify能够接受到相关信息,并进行日志输出,可以配合rsync做到服务器文件实时同步。
首先先附上一张参数解释表
https://img-blog.csdnimg.cn/20190611111527254.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L2h1YW5nYmFva2FuZw==,size_16,color_FFFFFF,t_70
inotifywait [选项] 目标文件
-m 持续监控 (捕捉到一个事件后不退出)
-r 递归监控、(包括目录下的子文件)
-q 屏蔽屏幕输出
-e 指定监控类别 midity、move、create、delete、attrib
新建一个窗口,做一些操作
[root@192 ~]# cd /opt/ [root@192 opt]# ls [root@192 opt]#原窗口
[root@192 inotify-tools-3.14]# /usr/local/bin/inotifywait /opt/ Setting up watches. Watches established. /opt/ OPEN,ISDIR [root@192 inotify-tools-3.14]#此时你会发现不监控 只坚持了一步 这也太次了 这时候你在命令时候加一个m的参数就能够实现实时的一个监控了
[root@192 inotify-tools-3.14]# /usr/local/bin/inotifywait -m /opt/ Setting up watches. Watches established.新窗口进入/opt/ 下进行文件的修改
[root@192 ~]# cd /opt/ [root@192 opt]# ls [root@192 opt]# mkdir 1 [root@192 opt]# mkdir 2 [root@192 opt]# ls 1 2此时再返回到原来的窗口就会发现没有 只监控一步就退出 而是做了持久的监控
[root@192 inotify-tools-3.14]# /usr/local/bin/inotifywait -m /opt/ Setting up watches. Watches established. /opt/ CREATE,ISDIR 1 /opt/ CREATE,ISDIR 2本地服务器:192.168.59.3 web
远程服务器:192.168.59.4 web
[root@192 ~]# inotifywait -mrq /var/www/html/ [root@192 ~]# rsync -az /var/www/html/ root@192.168.59.4:/var/www/html/^C
结合脚本实现
[root@192 ~]# cat 1.sh #!/bin/bash aa="inotifywait -mrq /var/www/html/" bb="rsync -az /var/www/html/ root@192.168.59.4:/var/www/html/" while true do $aa & $bb done & [root@192 ~]# cat 1.sh #!/bin/bash aa="inotifywait -mrq /var/www/html/" bb="rsync -az /var/www/html/ root@192.168.59.4:/var/www/html/" while true do $aa & $bb done &最后实现实时同步 当你在本地的/var/www/html 中建立文件 在远程服务器中会有实时的备份。