本文共 3497 字,大约阅读时间需要 11 分钟。
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 传输过程中启用压缩、解压
[root@192 ~]# mkdir /leyu[root@192 ~]# rsync -a /etc/ /leyu/[root@192 ~]# cd /leyu/[root@192 leyu]# lsadjtime ethertypes ld.so.conf polkit-1 shellsaliases exports ld.so.conf.d popt.d
[root@192 ~]# rsync -az root@192.168.59.4:/leyu/ /leyu/The authenticity of host '192.168.59.4 (192.168.59.4)' can't be established.ECDSA key fingerprint is SHA256:HVkgWmJm5O7fiaO87C2ehxYAAi6r7NNKPtM3RNjkLhU.ECDSA key fingerprint is MD5:58:3a:68:27:1f:29:e5:22:1e:d2:12:ec:ef:3d:f5:fb.Are you sure you want to continue connecting (yes/no)? yesWarning: Permanently added '192.168.59.4' (ECDSA) to the list of known hosts.root@192.168.59.4's password: [root@192 ~]# cd /leyu/[root@192 leyu]# lsetc
[root@192 ~]# rsync -az /leyu/feng/ root@192.168.59.4:/leyu/root@192.168.59.4's password:
比如服务器在北京,我们的客户在广东,如果中间没有cdn,客户就需要直接访问北京的服务器,但是我们怎样把主服务器的数据同步到中间的cdn的服务器,这个时候就需要用到innotify+rsync实现数据的实时同步。
[root@192 ~]# lsanaconda-ks.cfg inotify-tools-3.13.tar.gz rsync-3.1.2 rsync-3.1.2.tar.gz rsync.rar[root@192 ~]# yum -y install gcc gcc-c++[root@192 ~]# cd inotify-tools-3.13[root@192 inotify-tools-3.13]# ./configure [root@192 inotify-tools-3.13]# make & make install#或者通过yum安装
默认安装在/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 inotify-tools-3.14]# /usr/local/bin/inotifywait /opt/Setting up watches.Watches established./opt/ OPEN,ISDIR
新建一个窗口,做一些操作
[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]# ls1 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/bashaa="inotifywait -mrq /var/www/html/"bb="rsync -az /var/www/html/ root@192.168.59.4:/var/www/html/"while truedo$aa &$bbdone &
[root@192 ~]# cat 1.sh #!/bin/bashaa="inotifywait -mrq /var/www/html/"bb="rsync -az /var/www/html/ root@192.168.59.4:/var/www/html/"while truedo$aa &$bbdone &
最后实现实时同步 当你在本地的/var/www/html 中建立文件 在远程服务器中会有实时的备份。
转载地址:http://dlcef.baihongyu.com/