rsync配置和守护进程实践

目录

一、rsync概念

1.rsync简介

2.rsync特点

3、增量和全局传输

二、Rsync工作方式

1.准备好rsync备份服务器

2.本地的数据传输模式

3.远程的数据传输模式

4.rsync数据推拉模式

三、实践

1.准备三台虚拟机

2.都安装rsync服务

3.拉取远程文件

3.推送文件

4.rsync守护模式传输

四.rsync守护进程部署

1.确保安装了rsync服务

2.修改服务端配置文件

4.在rsync服务端做好环境配置工作

5.启动rsync服务开机自启

6.客户端配置

8.rsync大文件断点续传


一、rsync概念

1.rsync简介

全局数据备份,以及增量数据备份本地,远程的数据同步,一款优秀的工具

rsync可以类似于cp一样,实现本地数据拷贝

也能像scp一样进行远程的数据拷贝

还支持守护进程方式数据拷贝

delta-transfer算法,实现增量复制

scp远程数据传输,只能是实现全量数据传输

2.rsync特点

  • 可以实现cp效果,本地数据备份
  • 实现远程数据同步复制,如scp效果
  • 如rm效果可以删除本地文件
  • 也可以实现远程的数据查看,例如远程的ssh+ls的命令执行

软件特性

  • rsync支持普通文件拷贝,支持特殊文件拷贝,link,c设备文件
  • 还支持文件排他,可以指定不拷贝那些文件
  • 还能实现数据拷贝后,属性不发生变化(start命令查看)
  • 特点~支持增量数据拷贝
  • rsync可以配合ssh实现安全的数据传输,rsync本身不支持数据加密
  • rsnc支持匿名用户传输

3、增量和全局传输

rsync在数据备份的时候,通过quick check算法,检测数据,容量,最后修改时间变化

rsync甚至可以复制单个文件的内容传输

增量传输的原理就是,一边对比差异,一边对比差异进行数据复制,centos7上的3.x版本,效率更高


二、Rsync工作方式

1.准备好rsync备份服务器

安装rsync工具

yum install -y rsync

2.本地的数据传输模式

类似于cp,ls,touch命令的增删改查,实现数据的增量备份

语法模式

备份hosts文件

rsync /etc/hosts /tmp/

差异化同步

file目录和tmp目录差异化同步

[root@localhost /]# mkdir /file/{11,22,33}
[root@localhost /]# ls -l file
total 0
drwxr-xr-x. 2 root root 6 Nov 12 08:12 11
drwxr-xr-x. 2 root root 6 Nov 12 08:12 22
drwxr-xr-x. 2 root root 6 Nov 12 08:12 33
[root@localhost /]# ls -l /tmp/
total 0
[root@localhost /]# rsync -r --delete /file/ /tmp/
[root@localhost /]# ls -l /tmp/
total 0
drwxr-xr-x. 2 root root 6 Nov 12 08:12 11
drwxr-xr-x. 2 root root 6 Nov 12 08:12 22
drwxr-xr-x. 2 root root 6 Nov 12 08:12 33

文件差异化同步

[root@localhost /]# echo "111111111122222222222222" > /file/1.txt
[root@localhost /]# cat /file/1.txt 
111111111122222222222222
[root@localhost /]# touch /tmp/null
[root@localhost /]# cat /tmp/null 
[root@localhost /]# rsync -r --delete /tmp/null file/1.txt 
[root@localhost /]# cat /file/1.txt 

3.远程的数据传输模式

借助于ssh服务在两台机器之间进行数据传输,此时已经没有客户端和服务端之分,而是一种相对关系。

4.rsync数据推拉模式

远程的数据传输模式,有两种情况,推送和拉取

拉取:把远程服务器的数据,拉取到本地来

推送:把本地的数据,推送,上传发送远程的服务器


三、实践

1.准备三台虚拟机

第一台

第二台

第三台

2.都安装rsync服务

yum install rsync -y

3.拉取远程文件

我们在192.168.0.103服务器上创建一个文件

echo "yuancheng rsync" > /tmp/yuanc.txt

拉取文件,然后检查

rsync -av -e 'ssh -p 22' root@192.168.0.103:/tmp/yuanc.txt /tmp/
cat /tmp/yuanc.txt 

3.推送文件

rsync -av -e 'ssh -p 22'  /tmp/yuanc.txt root@192.168.0.107:/tmp/

4.rsync守护模式传输

守护模式传输是在客户端与服务端之间的数据复制

服务端需要配置好守护进程,等待客户端远程的执行数据同步命令,然后实现数据的拉取和推送


四.rsync守护进程部署

1.确保安装了rsync服务

yum install rsync -y 

2.修改服务端配置文件

vim /etc/rsyncd.conf

输入

 uid = rsyncgid = rsyncfake super = yesuse chroot = nomax connections = 200pid file = /var/run/rsyncd.pidlock file = /var/run/rsync.locklog file = /var/log/rsyncd.lockiignore errorsread only = falselist = falsehosts allow = 192.168.0.0/24hosts deny = 0.0.0.0/32auth users = rsync_backupsecrets file = /etc/rsync.password[backup]comment = This is rsync backup!path = /backup/[myweb]path=/my_web/

3.创建用户

useradd rsync -s /sbin/nologin -M
id rsync

4.在rsync服务端做好环境配置工作

mkdir -p /backup
chown -R rsync.rsync /backup
echo "rsync_backup:123456" > /etc/rsync.password
chmod 600 /etc/rsync.password

5.启动rsync服务开机自启

systemctl restart rsyncd
systemctl enable rsyncd

netstat -tunlp|grep rsync

6.客户端配置

yum install rsync -y
echo "123456" > /etc/rsync.password 
chmod 600 /etc/rsync.password 
export RSYNC_PASSWORD=123456
echo "export RSYNC_PASSWORD=123456" >> /etc/profile

7.测试

客户端推送数据

rsync -avzP /my_rsync rsync_backup@192.168.0.107::backup --password-file=/etc/rsync.password

服务端

客户端拉取数据

服务端创建文件

touch /backup/{11,22,33,44,55,66,77}
ls /backup/

客户端

 rsync -avzP  rsync_backup@192.168.0.107::backup --password-file=/etc/rsync.password /my_rsync/

exclude排除文件

服务端准备

touch /backup/{11,22,33,44,55,66,77}
mkdir /backup/{a,b,c,d,e,f}
touch /backup/a/11
touch /backup/b/22
touch /backup/c/33
touch /backup/d/44

客户端

rsync --exclude=11 --exclude=d/44 -avzP rsync_backup@192.168.0.107::backup --password-file=/etc/rsync.password /my_rsync/

8.rsync大文件断点续传

rsync提供了如下的参数

  • partial

默认情况下rsync传输中断后,将会删除所有传输了一部分的文件,重新传输在某些情况下,用户可能会希望保留已经传输的内容,该参数,告知rsync保留已经传输好的内容,使得剩余部分,可以继传输

  • partial-dir=DIR

保留已经传输的部分文件,且将内容保存到一个目录中,而不是立即写入到目标文件,便于下次传输的时候,rsync使用该目录中的数据,再进行整体数据的传输和恢复,结束后删除该目录

if=文件名:输入文件名,缺省为标准输入。即指定源文件。< if=input file >

of=文件名:输出文件名,缺省为标准输出。即指定目的文件。< of=output file >

bs=bytes:同时设置读入/输出的块大小为bytes个字节。

count=blocks:仅拷贝blocks个块,块大小等于ibs指定的字节数。

实例

服务端

 dd if=/dev/zero of=/backup/file bs=10M count=128

客户端

rsync -avzP --partial-dir=/tmp//my_rsync/test1 rsync_backup@192.168.0.107::backup  --password-file=/etc/rsync.password /my_rsync/

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/164469.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Oracle用户(User)和表空间(Tablespace)

3. 用户和表空间 3.1. 用户 1)概念 Oracle数据库中,用户(User)是访问数据库的途径和认证方式,同时,用户也是数据库对象的逻辑集合。我们通过数据库用户和密码来登录数据库,然后,可以在该用户下创建和操作数据库对象。 2)创建和配置 创建Oracle用户,需要具备创建…

python系统编程

文章目录 系统编程系统工具概述sys模块os模块 脚本运行上下文当前工作路径命令行参数shell环境变量标准流 文件和目录工具文件工具目录工具 并行系统工具进程分支线程 系统编程 系统工具 概述 python系统模块: 模块名作用*sys负责导出与怕以后呢解释器本身相关的组件*os包含…

Django DRF序列化器serializer

以下案例由浅到深&#xff0c;逐步深入&#xff0c;通过实例介绍了序列化器的使用方法&#xff0c;和其中遇到的常见问题的解决。 一、序列化器serializers.Serializer 1、urls.py urlpatterns [path("api/<str:version>/depart/",views.DepartView.as_vie…

缓存雪崩、击穿、穿透及解决方案_保证缓存和数据库一致性

文章目录 缓存雪崩、击穿、穿透1.缓存雪崩造成缓存雪崩解决缓存雪崩 2. 缓存击穿造成缓存击穿解决缓存击穿 3.缓存穿透造成缓存穿透解决缓存穿透 更新数据时&#xff0c;如何保证数据库和缓存的一致性&#xff1f;1. 先更新数据库&#xff1f;先更新缓存&#xff1f;解决方案 2…

【问题解决】RuntimeError: apex.optimizers.FusedSGD requires cuda extension 问题解决

在使用 apex 库时&#xff0c;按照官方的方式安装后&#xff0c;虽然安装成功&#xff0c;但调用的时候会报错如下&#xff0c;也就是说其实没有成功安装可调用 cuda 的 apex&#xff1a; RuntimeError: apex.optimizers.FusedSGD requires cuda extension我找了很多解决方式&…

【蓝桥杯省赛真题46】Scratch魔术表演 蓝桥杯scratch图形化编程 中小学生蓝桥杯省赛真题讲解

目录 scratch魔术表演 一、题目要求 编程实现 二、案例分析 1、角色分析

微信小程序bindtap和catchtap的区别?

子元素用bindtap绑定事件后&#xff0c;执行的时候&#xff0c;会冒泡到父元素&#xff08;触发父亲元素上绑定的bindtap事件&#xff09; 如果不想冒泡到父元素&#xff0c;可以用catchtap代替 bindtap事件绑定不会阻止冒泡事件向上冒泡 catchtap事件绑定可以阻止冒泡事件向上…

centos 7.7 安装Python-3.7.4

一、安装PYTHON 编译依赖包 1.1 首先安装gcc编译器&#xff0c;gcc有些系统版本已经默认安装&#xff0c;通过 gcc --version 查看&#xff0c;没安装的先安装gcc&#xff0c; yum -y install gcc glibc make1.2 安装其它依赖包&#xff0c;&#xff08;注&#xff1a;不要缺…

【双指针】和为 s 的两个数字

和为 s 的两个数字 文章目录 和为 s 的两个数字题目描述算法思路暴力枚举双指针 代码编写Java代码C代码编写 LCR 179. 查找总价格为目标值的两个商品 - 力扣&#xff08;LeetCode&#xff09; 题目描述 购物车内的商品价格按照升序记录于数组 price。请在购物车中找到两个商品…

Android修行手册-超出父布局进行显示以及超出父布局实现点击

Unity3D特效百例案例项目实战源码Android-Unity实战问题汇总游戏脚本-辅助自动化Android控件全解手册再战Android系列Scratch编程案例软考全系列Unity3D学习专栏蓝桥系列ChatGPT和AIGC &#x1f449;关于作者 专注于Android/Unity和各种游戏开发技巧&#xff0c;以及各种资源分…

shopee数据分析软件丨探索Shopee数据分析软件——知虾

随着电子商务的快速发展&#xff0c;越来越多的商家和企业开始关注数据分析的重要性。在这个竞争激烈的市场中&#xff0c;了解消费者行为、市场趋势和竞争对手的策略是取得成功的关键。而Shopee数据分析软件——知虾&#xff0c;成为了许多商家和企业的首选工具。本文将深入探…

ubuntu20.04 nginx 部署静态网页

1、安装nginx Ubuntu环境下安装部署Nginx&#xff08;有网&#xff09;_ubuntu 安装nginx_荒Huang的博客-CSDN博客 2、压缩并上传文件到服务器指定位置(unzip命令)&#xff0c;修改nginx配置文件&#xff0c;指定root目录为文件的目录&#xff0c;index 值为指定的html文件 …

【拿完年终奖后】想要转行网络安全,一定不要错过这个时间段。

网络安全&#xff0c;作为当下互联网行业中较为热门的岗位&#xff0c;薪资可观、人才需求量大&#xff0c;作为转行必考虑。 在这里奉劝所有零基础想转行&#xff08;入门&#xff09; 网络安全的朋友们 在转行之前&#xff0c;一定要对网络安全行业做一个大概了解&#xf…

latex通过bib添加参考文献作者名字有特殊符号如字母上有两点乱码解决办法

一、背景 在使用latex写英文论文时&#xff0c;一般是通过bib的方式添加参考文献。但有的参考文献作者是法国人或其他国家的&#xff0c;名字会有特殊符号&#xff0c;如某个字母上有两个点&#xff0c;或者声调符号等等&#xff0c;如下图所示&#xff1a; 如果不进行特殊操作…

【C++初阶】第一站:C++入门基础(中)

前言&#xff1a; 这篇文章是c入门基础的第一站的中篇,涉及的知识点 函数重载:函数重载的原理--名字修饰 引用:概念、特性、使用场景、常引用、传值、传引用效率比较的知识点 目录 5. 函数重载 &#xff08;续&#xff09; C支持函数重载的原理--名字修饰(name Mangling) 为什么…

ACE前摄器Proactor

转载的&#xff0c;已经找不到原文地址了 Proactor是异步模式的网络处理器&#xff0c;ACE中叫做“前摄器”。 先讲几个概念&#xff1a; 前摄器&#xff08;Proactor&#xff09;&#xff0d;异步的事件多路分离器、处理器&#xff0c;是核心处理类。启动后由3个线程…

csv文件添加文件内容和读取

append content to file import numpy as np acc_listnp.array([0.97,0.92,0.93,0.89]) # 注意这个地方添加文件不需要特别声明是什么文件 file open("result.csv", "a") print("{:.2f}, {:.2f}".format(acc_list.mean(), acc_list.std()), f…

【JavaEE】Spring小练习——存储和获取对象

一、题目&#xff1a; 在 Spring 项目中&#xff0c;通过 main 方法获取到 Controller 类&#xff0c;调用 Controller 里面通过注入的方式调用Service 类&#xff0c;Service 再通过注入的方式获取到 Repository 类&#xff0c;Repository 类里面有一个方法构建⼀个 User 对象…

YOLO目标检测——垃圾检测数据集下载分享【含对应voc、coco和yolo三种格式标签】

实际项目应用&#xff1a;智能化垃圾分类系统、垃圾回收和处理领域的优化管理等方面数据集说明&#xff1a;垃圾分类检测数据集&#xff0c;真实场景的高质量图片数据&#xff0c;数据场景丰富&#xff0c;含报纸、蛋壳、矿泉水瓶、电池、拉链顶罐、塑料餐盒、纸质药盒、香蕉皮…

kubernetesr进阶--Security Context之Security Context概述

提起 Security Context &#xff0c;估计大家都很陌生&#xff0c;那么现在让我带大家走进 Security Context的世界。 Security Context&#xff08;安全上下文&#xff09;用来限制容器对宿主节点的可访问范围&#xff0c;以避免容器非法操作宿主节点的系统级别的内容&#x…