rsync 远程文件同步+实验

别裁伪体亲风雅,转益多师是汝师。这篇文章主要讲述rsync 远程文件同步+实验相关的知识,希望能为你提供帮助。
rsync理论部分【rsync 远程文件同步+实验】一款快速增量备份工具
Remote Sync,远程同步
支持本地复制,或者与其他SSH、rsync主机同步
rsync远程同步
rsync (Remote Sync, 远程同步)
是一个开源的快速备份工具,可以在不同主机之间镜像同步整个目录树,支持增量备份,并保持链接和权限,且采用优化的同步算法,传输前执行压缩,因此非常适用于异地备份、镜像服务器等应用。
在远程同步任务中,负责发起rsync同步操作的客户机称为发起端,而负责响应来自客户机的rsync同步操作的服务器称为同步源。在同步过程中,同步源负责提供文件的原始位置,发起端应对该位置具有读取权限。
实验 配置rsync 下行同步(就是客户端从服务器下载东西同步)
主机服务器:192.168.206.102
客户端:192.168.206.103
默认全部关闭firewalld、配置好yum了
```html/xml
首先是对服务器配置
yum -y install httpd rsync
vim /etc/rsyncd.conf#修改rsync的配置文件
uid = nobody
gid = nobody
use chroot = yes
address = 192.168.206.102#监听服务器地址
port 873
log file = /var/log/rsyncd.log
pid file = /var/run/rsyncd.pid
hosts allow = 192.168.206.0/24#允许访问的网段
[wwwroot]
path = /var/www/html
comment = Document Root of www.lic.com
read only = yes
dont comperss = .gz .bz2 .tgz .zip .rar .z
auth users = kiki
secrets file = /etc/rsyncd_users.db

![1.png](https://s2.51cto.com/images/20220228/1646004076412340.png?x-oss-process=image/watermark,size_14,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_100,g_se,x_10,y_10,shadow_20,type_ZmFuZ3poZW5naGVpdGk=)![2.png](https://s2.51cto.com/images/20220228/1646004078137743.png?x-oss-process=image/watermark,size_14,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_100,g_se,x_10,y_10,shadow_20,type_ZmFuZ3poZW5naGVpdGk=)![3.png](https://s2.51cto.com/images/20220228/1646004081999834.png?x-oss-process=image/watermark,size_14,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_100,g_se,x_10,y_10,shadow_20,type_ZmFuZ3poZW5naGVpdGk=)```html/xml 然后访问用户账号文件 vim /etc/rsyncd_users.db kgc:123456chmod 600 /etc/rsyncd_users.dbrsync --daemon#开启rsync服务器 netstat -natp | grep rsynccd /var/www/html touch aaa.html bbb.html ls

rsync 远程文件同步+实验

文章图片

rsync 远程文件同步+实验

文章图片

rsync 远程文件同步+实验

文章图片

rsync 远程文件同步+实验

文章图片

```html/xml
下面是给客户端的操作
yum -y install rsync
cd /opt
mkdir test_rsync
chmod 777 test_rsync
![6.png](https://s2.51cto.com/images/20220228/1646004126526045.png?x-oss-process=image/watermark,size_14,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_100,g_se,x_10,y_10,shadow_20,type_ZmFuZ3poZW5naGVpdGk=)```html/xml 下面是给客户端的操作 vim /etc/server.pass#创建一个免交互的文件 123456#文本中输入的密码chmod 600 /etc/server.pass#只允许属主读写rsync -az --delete --password-file=/etc/server.pass kgc@192.168.206.102::wwwroot /opt/test_rsync#特别注意,此处的填写和服务端vim /etc/rsyncd.conf配置文件中的内容相关,不一致就会出错!!!ls test_rsync

rsync 远程文件同步+实验

文章图片

rsync 远程文件同步+实验

文章图片

rsync 远程文件同步+实验

文章图片

rsync+inotify实时同步(上行同步)本环节是以上面的下行同步为基准的
(客户端装上inotify,客户端上传服务器端实现同步)
```html/xml
首先是配置服务器端口
vim /etc/rsyncd.conf
read only = no#得先关闭只读模式
kill cat /var/run/rsyncd.pid#杀掉进程
netstat -natp | grep rsync#查看进程是否被杀掉
rsync --daemon#重启进程
netstat -natp | grep rsync#查看进程是否被重启
chmod 777 /var/www/html#给共享的目录赋权
![1.png](https://s2.51cto.com/images/20220228/1646004318643368.png?x-oss-process=image/watermark,size_14,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_100,g_se,x_10,y_10,shadow_20,type_ZmFuZ3poZW5naGVpdGk=)![1.1.png](https://s2.51cto.com/images/20220228/1646004320465812.png?x-oss-process=image/watermark,size_14,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_100,g_se,x_10,y_10,shadow_20,type_ZmFuZ3poZW5naGVpdGk=)![2.png](https://s2.51cto.com/images/20220228/1646004325993405.png?x-oss-process=image/watermark,size_14,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_100,g_se,x_10,y_10,shadow_20,type_ZmFuZ3poZW5naGVpdGk=)```html/xml 下面是给客户端配置 #查看inotify 内核参数的值 cat /proc/sys/fs/inotify/max_queued_events cat /proc/sys/fs/inotify/max_user_instances cat /proc/sys/fs/inotify/max_user_watches #进去优化下inotify 内核参数 vim /etc/sysctl.conf ............................ #参数的值大小根据查看到的来填写 fs.inotify.max_queued_events = 16384 fs.inotify.max_user_instances = 128 fs.inotify.max_user_watches = 8192 ............................ sysctl -p#重载让配置文件生效

rsync 远程文件同步+实验

文章图片

rsync 远程文件同步+实验

文章图片

rsync 远程文件同步+实验

文章图片

```html/xml
yum -y install gcc gcc-c++#yum安装编译工具
#opt目录下使用winscp传入inotify-tools-3.14.tar.gz包
tar zxvf inotify-tools-3.14.tar.gz -C /opt
cd /opt/inotify-tools-3.14/
./configure#编译模块
make & & make install#编译安装
![5.png](https://s2.51cto.com/images/20220228/1646004343801737.png?x-oss-process=image/watermark,size_14,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_100,g_se,x_10,y_10,shadow_20,type_ZmFuZ3poZW5naGVpdGk=) ![5.1.png](https://s2.51cto.com/images/20220228/1646004346770032.png?x-oss-process=image/watermark,size_14,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_100,g_se,x_10,y_10,shadow_20,type_ZmFuZ3poZW5naGVpdGk=) ![5.2.png](https://s2.51cto.com/images/20220228/1646004352864512.png?x-oss-process=image/watermark,size_14,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_100,g_se,x_10,y_10,shadow_20,type_ZmFuZ3poZW5naGVpdGk=) ```html/xml 编辑自动监控同步脚本 vim /opt/inotify.sh..................................... #!/bin/bash INOTIFY_CMD="inotifywait -mrq -e create,delete,move,modify,attrib /opt/test_rsync/" #监控INOTIFY_CMD /opt/test_rsync/目录下持续的读写删操作 RSYNC_CMD="rsync -azH --delete --password-file=/etc/server.pass /opt/test_rsync/ kgc@192.168.206.102::wwwroot" #使用kgc用户,/etc/server.pass下的秘钥对。把/opt/test_rsync/目录下的内容同步压缩,传给服务器端206.102下的/var/www/html $INOTIFY_CMD | while read DIRECTORY EVENT FILE do if [ $(pgrep rsync | wc -l) -le 0 ] ; then $RSYNC_CMD fi done..................................cd /opt/ chmod +x inotify.sh ./inotify.sh& **#给脚本赋权后运行,一定要后台运行!!!**#去/opt/test/rsync那边,创建一个123.html的空白文件,删除原来的1.html文件 cd /opt/test_rsync touch 123.html rm1.html

rsync 远程文件同步+实验

文章图片

rsync 远程文件同步+实验

文章图片

rsync 远程文件同步+实验

文章图片

rsync 远程文件同步+实验

文章图片

``html/xml< br/> 验证,去服务器那边/var/www/html验证< br/> vim /etc/rsyncd.conf#首先改成root用户身份登录< br/> .....................< br/> uid = root< br/> gid = root< br/> ................< br/> #修改完配置文件后重启下服务< br/> killcat /var/run/rsyncd.pid`#杀掉进程
rsync --daemon#开启rsync服务器
netstat -natp | grep rsync
![8.png](https://s2.51cto.com/images/20220228/1646004394339709.png?x-oss-process=image/watermark,size_14,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_100,g_se,x_10,y_10,shadow_20,type_ZmFuZ3poZW5naGVpdGk=)![8.1.png](https://s2.51cto.com/images/20220228/1646004396832231.png?x-oss-process=image/watermark,size_14,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_100,g_se,x_10,y_10,shadow_20,type_ZmFuZ3poZW5naGVpdGk=)**验证结果:** ```html/xml 服务器: cd /opt ls 可以看到之前创建的123.html然后我们在服务器端/var/www/html 创建一个abc.jsp 然后去客户端的/opt/test_rsync查看

rsync 远程文件同步+实验

文章图片

rsync 远程文件同步+实验

文章图片

rsync 远程文件同步+实验

文章图片


    推荐阅读