小白带你学习Linux的rsync的基本操作(二十四)

news2024/12/24 17:20:56

目录

前言

一、概述

二、特性

1、快速

2、安全

三、应用场景

四、数据的同步方式

五、rsync传输模式

六、rsync应用

七、rsync命令

1、格式

2、选项

3、举例

4、配置文件

5、练习

八、rsync+inotfy实时同步

1、服务器端

2、开发客户端


前言

Rsync是一个开源的文件同步和备份工具。它可以通过局域网或互联网将文件从一个地方同步到另一个地方,保持两个位置的文件内容一致。Rsync在传输文件时仅传输文件的变化部分,而不是整个文件,这样可以大大加快文件传输的速度。

一、概述

    rsync是linux 下一个远程数据同步工具

    他可通过LAN/WAN快速同步多台主机间的文件和目录,并适当利用rsync 算法减少数据的传输

    会对比两个文件的不同部分,传输差异部分,因此传输速度相当快

    rsync可拷贝、显示目录属性,以及拷贝文件,并选择性的压缩及递归拷贝

二、特性

1、快速

第一次传输全部,下一次传输差异

 rsync在传输过程中可以实行压缩和解压缩,使用更少的带宽

2、安全

 可以使用scp、ssh等方式传输

 直接通过socket连接

 支持匿名传输、方便进行网站镜像

三、应用场景

增量同步

备份迁移

四、数据的同步方式

数据备份:拉取(下载)

pull

数据恢复:推送(上传)

 push

五、rsync传输模式

本地传输

本地同步数据,类似于cp

远程传输

远程同步数据,类似于scp

守护进程

通过模块化的方式实现批量传输

六、rsync应用

安装

yum -y install rsync

如果已经安装,直接启动

第一步关防火墙和改宽容模式

systemctl stop firewalld && systemctl disable firewalld
setenforce 0

rpm -qi rsync

systemctl start rsyncd

监听端口号

 TCP/873

netstat -anptl | grep rsync

七、rsync命令

1、格式

rsync [选项] 原始位置 目标位置

作为远程命令

拉取                rsync [OPTION...] [USER@]HOST:SRC... [DEST]

rsync 1.txt 192.168.28.129:/mnt

推送                rsync [OPTION...] SRC... [USER@]HOST:DEST

作为rsync服务

拉取                rsync [OPTION...] [USER@]HOST::SRC... [DEST]

                       rsync [OPTION...] rsync://[USER@]HOST[:PORT]/SRC... [DEST]

 推送             rsync [OPTION...] SRC... [USER@]HOST::DEST

                      rsync [OPTION...] SRC... rsync://[USER@]HOST[:PORT]/DEST

2、选项

-a           归档模式,递归并保留对象属性,等同于-rlptgoD

-v           -verbose           显示同步过程的详细信息

-z           在传输文件时进行压缩

3、举例

本地

rsync  -avz  abc/  /opt

远程

rsync -avz root@192.168.28.129:/opt

rsync -avz 1.txt  root@192.168.28.129:/opt

4、配置文件

/etc/rsyncd.conf

全局配置

address    独立运行时,用于指定服务器运行的 IP 地址,默认本地所有IP

port       指定 rsync 守护进程监听的端口号,默认 873

pid file     rsync 的守护进程将其 PID 写入指定的文件

log file     指定 rsync 守护进程的日志文件,而不将日志发送给 syslog

syslog facility   指定 rsync 发送日志消息给 syslog 时的消息级别

socket options  指定自定义 TCP 选项

lockfile   指定rsync的锁文件存放路径

timeout    超时时间

模块配置

path       指定当前模块的同步路径,该参数是必须指定的

comment   给模块指定一个描述

use chroot           在服务运行时要不要把他锁定在家目录,默认为 true

uid和gid            指定rsync运行用户和用户组,默认nobody

max connections      最大并发连接数,0为不限制

lock file             指定支持 max connections的锁文件。默认/var/run/rsyncd.lock

list                 指定列出模块列表时,该模块是否被列出。默认为 true

read only          只读选择,默认true

write only         只写选择,不让客户端从服务器上下载文件。默认false

ignore errors     忽略IO错误,默认true

ignore nonreadable 指定 rysnc 服务器完全忽略那些用户没有访问权限的文件。

dont compress      用来指定那些在传输之前不进行压缩处理的文件。

hosts allow  指定哪些主机客户允许连接该模块。默认值为 *

hosts deny  指定哪些主机客户不允许连接该模块

auth users   指定用于上传的用户名

secrets files    指定密码文件

守护进程传输

配置

uid=rsync

gid=rsync

fake super=yes     # 用于允许非root用户,在备份目录创建文件

list=false              # 默认true,允许查看本机有哪些模块

auth users=rsync_backup  # 用于指定认证用户

secrets file=/etc/rsync.passwd  # 指定认证用户密码

max connections=4                 # 允许最大连接数

read only=false                       # 默认yes,模块目录只读权限

ignore errors                          # 屏蔽错误报错

timeout=900                          # 指定rsync传输超时时间

[backup]

 path=/backup

vim /etc/rsyncd.conf

 创建用户        useradd rsync -s /sbin/nologin -M

useradd rsync -s /sbin/nologin -M rsync

创建认证用户的密码        echo 'rsync_backup:123456' >/etc/rsync.passwd

                                         chmod 600 /etc/rsync.passwd

 echo 'rsync_backup:123456' >/etc/rsync.passwd
   chmod 600 /etc/rsync.passwd

准备模块目录          mkdir /backup

                                 chown rsync.rsync /backup

mkdir /backup
  chown rsync.rsync /backup

重启服务          systemctl restart rsyncd

systemctl restart rsyncd

客户端远程传输            rsync -avz /etc/hosts rsync_backup@192.168.2.62::backup

  rsync -avz /etc/hosts rsync_backup@192.168.28.128::backup

查看一下文件

回到客户端进入 

插入信息

 再上传一遍

 服务器查看

 这就是手动服务同步

通过密码文件实现免密传输

vim /etc/rsync.passwd             123456

vim /etc/rsync.passwd  

chmod   600 /etc/rsync.passwd

chmod   600 /etc/rsync.passwd

 rsync -avz /etc/hosts rsync_backup@192.168.2.62::backup --password-file /etc/rsync.passwd

5、练习

1、使用认证用户为jx_名字缩写,认证密码为班级编号

/etc/rsyncd.conf

2、模块名称为juexing

重启服务 

3、客户端创建文件user.txt,内容为所有的用户信息

客户端先传过去看看

 服务器查看

4、自行修改文件内容,在服务器上实现同步

 删除剩四行

同样的命令在执行

 回到服务器

八、rsync+inotfy实时同步

1、服务器端

安装网站服务,启动,但是不写首页文件

安装httpd

mount  /dev/sr0 /mnt
yum -y install httpd

 

修改主配置文件

uid = root

gid = root

[wwwroot]

    path = /var/www/html

    comment = backup export area

    read only = false

    hosts allow = 192.168.1.0/24

vim /etc/rsyncd.conf

2、开发客户端

安装inotify工具

inotify-tools

tar xf  inotify-tools-3.14.tar.gz

./configure && make && make install

搭建网站服务器 

 查看端口号

 配置内核参数

vim /etc/sysctl.conf

fs.inotify.max_user_instances = 1024

fs.inotify.max_queued_events = 16384

fs.inotify.max_user_watches=1048576

sysctl -P

inotifywait -mrq -e modify,create,move,delete /var/www/html

 把客户端的wwwroot传回服务器

 回主机查看

 回客户端


 再传一遍

 回主机

编写脚本

#!/bin/bash
INOTIFY_CMD="inotifywait -mrq -e modify,create,attrib,move,delete /var/www/html/"
RSYNC_CMD="rsync -azH --delete /var/www/html/ 192.168.28.128::wwwroot"
$INOTIFY_CMD | while read DIRECTORY EVENT FILE
do
$RSYNC_CMD
done

 客户机改文件

 回服务器查看一下

赋予执行权限 

chmod +x inotify_rsync.sh

写入文件开机自启文件

vim /etc/rc.local

/root/inotify_rsync.sh

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

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

相关文章

光线追踪计算加速:包围盒

包围盒(Bounding box)是加速光线追踪(Ray Tracing)的最简单方法,不一定将其视为加速结构,但这无疑是减少渲染时间的最简单方法。 推荐:用 NSDT设计器 快速搭建可编程3D场景。 使用包围盒来加速光…

椒图——靶场模拟

先查看ip,10.12.13.232模拟的外网ip,其他的模拟内网ip,服务里面搭建好的漏洞环境。 #第一个测试项目,web风险发现 新建,下发任务,点威胁检测,webshell,点扫描任务,点新…

迅镭激光赋能工程机械,客户连续复购激光加工设备达双赢!

工程机械是装备制造业的重要组成部分,当前,我国已成为门类齐全、规模庞大、基础坚实、竞争力强的工程机械设备制造大国。 随着工程机械产业正在全面向智能化、绿色化转型,激光加工成为推动工程机械产业转型升级的重要工具,越来越多…

一道SQL题

有个搞数仓的朋友不知道从哪儿弄了个题。。。 做了做体验了一下。。。 记录记录。 分析 要保证每天都要做新题 5天必须都做题,不然GG 最后一天必须做新题,如果最后一天做新题了,前面那几天没做新题,做的是老题 最后一天&#…

初识mysql之理解索引

目录 一、 primary key对索引的影响 1. 主键数据有序问题 2. mysql中的page 3. 主键排序问题 二、理解多个page 1. 数据在page中的保存 2. 页目录 3. 单页情况 4. 多页情况 5. 为什么除了叶子节点外的其他节点不保存数据,只保存目录 6. 为什么叶子节点全…

创意网页模板免费下载,让你的网站与众不同!

今天给大家带来的网站模板素材,网站类型丰富,包含户外旅行、餐饮、个人网站等等,可以学习和参考其中的布局排版和配色。 ⬇⬇⬇点击获取更多设计资源 https://js.design/community?categorydesign&sourcecsdn&planbbqcsdn772 1、设…

域内信息收集

将网络中多台计算机逻辑上组织到一起进行集中管理,这种区别于工作组的逻辑环境叫 做域。域是由域控制器(Domain Controller)和成员计算机组成,域控制器就是安装了活动 目录(Active Directory)的计算机。活动目录提供了存储网络上对象信息并使用网络使用该…

图像处理之canny边缘检测(非极大值抑制和高低阈值)

Canny 边缘检测方法 Canny算子是John F.Canny 大佬在1986年在其发表的论文 《Canny J. A computational approach to edge detection [J]. IEEE Transactions on Pattern Analysis and Machine Intelligence, 1986 (6): 679-698.》提出来的。 检测目标: 低错误率…

2023年软件测试八股文(含答案+文档)

Part1 1、你的测试职业发展是什么? 测试经验越多,测试能力越高。所以我的职业发展是需要时间积累的,一步步向着高级测试工程师奔去。而且我也有初步的职业规划,前3年积累测试经验,按如何做好测试工程师的要点去要求自…

汽车新品研发用泛微事井然,全过程数字化、可视化

产品研发是汽车制造产业链的运营过程中的初始阶段,是提升汽车企业创新力、竞争力的重要一环,不仅要洞悉市场变化,还要有效协同企业内部的各类资源… 汽车新产品研发项目周期长、资源投入大,面临着诸多挑战: 1、市场需…

采集传感器的物联网网关怎么采集数据?

随着工业4.0和智能制造的快速发展,物联网(IoT)技术的应用越来越广泛,传感器在整个物联网系统中使用非常普遍,如温度传感器、湿度传感器、光照传感器等,对于大部分物联网应用来说,采集传感器都非…

02.MySQL——CURD

文章目录 表的增删改查Create单行数据全列插入多行数据指定列插入插入否则更新替换——REPLACE RetrieveSELECT 列WHERE 条件结果排序筛选分页结果 UpdateDelete删除数据截断表 插入查询结果聚合函数group bywhere和having SQL查询中关键字优先级函数日期函数字符串函数数学函数…

Spring 事务控制

1. 编程式事务控制相关对象 1.1 平台事务管理器 1.2 事务定义对象 1.3 事务状态对象 关系: PlatformTransactionManager TransactionManager TransactionStatus 2. 基于XML的声明式事务控制 切点:(目标对象)业务方法&#xff…

idea不小心push的文件夹怎么处理?

第一种方式,把不小心push上去的人解决掉。 第二种方式,以我自身为例,同事不小心push了.idea文件夹 首先打开git bash git rm --cached .idea/ -r 然后查看一下状态 git status 接着提交修改 git commit -m "cancel track .idea file&q…

从小白到大神之路之学习运维第62天--------Ansible自动化运维工具(playbook配置深入了解2.0)

第三阶段基础 时 间:2023年7月17日 参加人:全班人员 内 容: playbook配置深入了解2.0 目录 一、角色 实验案例:(安装Mariadb) 二、变量 (一)在playbook中使用自定义变量&#xff1…

Microsoft Outlook 共享收发邮件的权限给其他人

点击File 点击Account Settings→DelegateAccess 点击Add

数据可视化自助式分析工具:jvs-bi数据扩展及函数配置说明

jvs-bi数据拓展节点 数据拓展是数据可视化加工过程中的重要工具,它核心的作用是对原有数据表进行加工扩展,实现功能如下图所示 函数配置操作过程 操作说明 1、拖动数据拓展字段,并将字段拓展与之前的历史节点连接起来,点击数据拓…

访问Liunx文件系统

访问Liunx文件系统 识别文件系统和设备 存储管理概念 Linux服务器上文件按文件系统层次结构访问。该文件系统层次结构测试由系统可用的存储设备所提供的文件系统组装而来。每个文件系统都是一个已格式化的存储设备,可用于存储文件。 文件系统和挂载点 要让文件系…

springboot sentinel 整合 规则详情和代码实现-分布式/微服务流量控制

文章目录 sentinel控制台安装目标版本说明sentinel 规则整合验证pom.xml配置注解拦截资源控制规则---内存模式测试controller客户端接入控制台 测试sentinel控制台接口调用 下一篇:配置持久化策略规则外传 sentinel控制台安装 下载地址:https://github.…

SpringCloud学习路线(6)—— 远程调用HTTP客户端Feign

一、Feign替代RestTemplate RestTemplate示例 String url "http://userservice/user/" order.getUserId(); User user restTemplate.getForObject(url, User.class);RestTemplate的缺陷: 代码可读性差,编码体验不统一。参数复杂URL难以维…