别裁伪体亲风雅,转益多师是汝师。这篇文章主要讲述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
文章图片
文章图片
文章图片
文章图片
```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+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#重载让配置文件生效
文章图片
文章图片
文章图片
```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
文章图片
文章图片
文章图片
文章图片
``html/xml<
br/>
验证,去服务器那边/var/www/html验证<
br/>
vim /etc/rsyncd.conf#首先改成root用户身份登录<
br/>
.....................<
br/>
uid = root<
br/>
gid = root<
br/>
................<
br/>
#修改完配置文件后重启下服务<
br/>
kill
cat /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查看
文章图片
文章图片
文章图片
推荐阅读
- CentOS系统利用自带防火墙搭建端口代理服务
- Golang+Vue实战容器多集群管理平台开发
- #yyds干货盘点#CSS实现loading效果效果
- #yyds干货盘点# 07 MySQL数据排序
- SQL审核平台 Archery 之配置 DingDing 通知篇
- 日志管理系统,多种方式总结
- #yyds干货盘点#推荐14 个写好 Java 代的习惯
- 北亚数据恢复服务器重装系统后一个分区消失其他分区不可访问的数据恢复案例
- VMware虚拟机安装windows server 2016