Rsync(二十七)

news2024/12/24 11:15:08

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档

目录

前言

一、概述

二、特性

三、应用场景

四、数据的同步方式

五、rsync传输模式

六、rsync应用

七、rsync 命令

1. 格式

 1.1 作为远程命令

 1. 2 作为rsync服务

2. 选项

3. 配置文件

 3.1  全局配置

           3.2   模块配置

4. 守护进程传输

4.1 配置

4.2 创建用户

4.3 创建认证用户的密码

4.4 准备模块目录

4.5 重启服务

4.6 客户端远程传输

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

八、 rsync+inotfy实时同步

1. 服务器端

2.开发客户端

2.1 安装inotify工具

2.2  配置内核参数

2.3 命令

2.4 编写脚本

2.5 赋予执行权限

2.6  写入文件

总结



前言

今天学习的是rsync ,也是不用安装,直接用的服务,内容比较简单,我们一起来看看今天的内容吧!


提示:以下是本篇文章正文内容,下面案例可供参考

一、概述

    rsync是linux 下一个远程数据同步工具
    他可通过LAN/WAN快速同步多台主机间的文件和目录,并适当利用rsync 算法减少数据的传输
    会对比两个文件的不同部分,传输差异部分,因此传输速度相当快
    rsync可拷贝、显示目录属性,以及拷贝文件,并选择性的压缩及递归拷贝

二、特性

快速
        第一次传输全部,下一次传输差异
        rsync在传输过程中可以实行压缩和解压缩,使用更少的带宽
安全
        可以使用scp、ssh等方式传输
        直接通过socket连接
        支持匿名传输、方便进行网站镜像

三、应用场景

    增量同步
    备份迁移

四、数据的同步方式

    数据备份:拉取(下载)
        pull
    数据恢复:推送(上传)
        push

五、rsync传输模式

    本地传输
        本地同步数据,类似于cp
    远程传输
        远程同步数据,类似于scp
    守护进程
        通过模块化的方式实现批量传输

六、rsync应用

 安装
        yum -y install rsync
            如果已经安装,直接启动

启动
        systemctl start rsyncd
监听端口号
        TCP/873

七、rsync 命令

1. 格式

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

 1.1 作为远程命令

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


 1. 2 作为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
        在传输文件时进行压缩

举例
    本地
        rsync  -avz  abc/  /opt
        rsync  -avz  /abc  /opt
    远程
        rsync -avz root@192.168.2.7:/etc/hostname  /root/
        rsync -avz  /root/hostname root@192.168.2.7:/etc/hostname 

3. 配置文件

/etc/rsyncd.conf


 3.1  全局配置

address 独立运行时,用于指定服务器运行的 IP 地址,默认本地所有IP
port指定 rsync 守护进程监听的端口号,默认 873
 pid filersync 的守护进程将其 PID 写入指定的文件
log file  指定 rsync 守护进程的日志文件,而不将日志发送给 syslog
syslog facility指定 rsync 发送日志消息给 syslog 时的消息级别
socket options指定自定义 TCP 选项
 lockfile指定rsync的锁文件存放路径
 timeout 超时时间

        
  3.2   模块配置

 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指定密码文件

4. 守护进程传输

4.1 配置

    uid=rsync
    gid=rsync
    fake super=yes     # 用于允许非root用户,在备份目录创建文件
    list=false              # 默认true,允许查看本机有哪些模块
    auth users=rsync_backup  # 用于指定认证用户
    secrets file=/etc/rsync.passwd  # 指定认证用户密码
    read only = false
    max connections=4                 # 允许最大连接数
    read only=false                       # 默认yes,模块目录只读权限
    ignore errors                          # 屏蔽错误报错
    timeout=900                          # 指定rsync传输超时时间
    [backup]
    path=/backup

 

 4.2 创建用户

   useradd rsync -s /sbin/nologin -M          
     

 4.3 创建认证用户的密码


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

  4.4 准备模块目录

    mkdir /backup
    chown rsync.rsync /backup   

4.5 重启服务

systemctl restart rsyncd

4.6 客户端远程传输

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

服务端查看

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

   vim /etc/rsync.passwd
        123456
    chmod   600 /etc/rsync.passwd
    rsync -avz /etc/hosts rsync_backup@192.168.2.62::backup --password-file /etc/rsync.passwd

 练习
    1、使用认证用户为jx_名字缩写,认证密码为班级编号
    2、模块名称为juexing
    3、客户端创建文件user.txt,内容为所有的用户信息
    4、自行修改文件内容,在服务器上实现同步

服务端 

客户端

 服务端查看

八、 rsync+inotfy实时同步

1. 服务器端

  安装网站服务,启动,但是不写首页文件
    修改主配置文件
        uid = root
        gid = root
        [wwwroot]
    path = /var/www/html
    comment = backup export area
    read only = false
    hosts allow = 192.168.1.0/24

 

2.开发客户端

2.1 安装inotify工具

        inotify-tools
        tar xf  inotify-tools-3.14.tar.gz
        ./configure && make && make install

2.2  配置内核参数

vim /etc/sysctl.conf
        fs.inotify.max_user_instances = 1024
        fs.inotify.max_queued_events = 16384
        fs.inotify.max_user_watches=1048576
        sysctl -P

2.3 命令

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

客户端上传

 服务端查看


  2.4 编写脚本 

 vim /opt/inotify_rsync.sh
        #!/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.115.130::wwwroot"
$INOTIFY_CMD | while read DIRECTORY EVENT FILE
do
$RSYNC_CMD 
done

服务端

2.5 赋予执行权限

 chmod +x inotify_rsync.sh

2.6  写入文件

   vim /etc/rc.local
            /root/inotify_rsync.sh

客户端 

 服务端


总结

以上就是今天要讲的内容,本文仅仅简单介绍了rsync 的概念、用途及使用方法,需要我们动手操作起来,所以,要好好联系哦!

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

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

相关文章

​通达信量比捉牛股指标源码​_通达信公式

JL5:MA(V,5); LB:DYNAINFO(17); 历史量比:IF(DYNAINFO(4)OANDDYNAINFO(5)HANDDYNAINFO(6)LANDDYNAINFO(7) C,DYNAINFO(17),V/JL5),LINETHICK,COLORYELLOW; STICKLINE(历史量比>1,历史量比,0,3,1)COLORRED; STICKLINE(历史量比<1,历史量比,0,3,0)COLO…

Debug调试的使用(IDEA 基础篇 喂奶级教程)

引言 在编程中&#xff0c;Debug&#xff08;调试&#xff09;是指在程序运行时&#xff0c;通过一系列的工具和技术&#xff0c;对程序进行逐行调试和分析&#xff0c;从而发现和修复程序中的错误和问题。Debug 功能是程序开发中非常重要的一个环节&#xff0c;它可以帮助开发…

JSON对象的stringify()和parse()方法使用

JSON对象的stringify和parse方法使用 JSON 格式JSON 对象JSON.stringify()1.JSON.stringify(value)2.JSON.stringify(value,replace)3.JSON.stringify(value,replace,space)4.注意的点 JSON.parse() JSON 格式 JSON 格式&#xff08;JavaScript Object Notation 的缩写&#xf…

一文读懂【TypeScript】的发展设计理念

导语&#xff1a; 在了解 TypeScript 之前&#xff0c;我们需要了解 什么是强类型语言和什么是弱类型语言&#xff0c;以及什么是静态类型&#xff0c;什么又是动态类型。 强类型不允许任意的隐式类型转换&#xff0c;而 弱类型 允许静态类型&#xff1a;一个变量声明时它的类型…

STM32使用高级定时器输出互补pwm波

STM32使用高级定时器输出互补pwm波 前言硬件和软件cubemx新建工程打开Debug模式配置时钟源六大时钟的作用选择Crystal/Ceramic Resonator&#xff0c;即使用外部晶振作为HSE的时钟源。 配置时钟配置高级定时器TIM8和通用定时器TIM3这里大概解释一下配置pwm输出用到的几个参数我…

ASEMI快恢复二极管MUR20100CTR在电子工程中的应用

编辑-Z 随着电子技术的日益发展&#xff0c;各种电子元件的使用场景与需求也在逐步扩大。今天&#xff0c;我们将聚焦于一款广泛应用于各类电路的二极管——MUR20100CTR&#xff0c;来详细解读其性能特征及应用。 一、MUR20100CTR二极管的主要特性 MUR20100CTR是一款极高性能的…

03 QT对象树

Tips: QT通过对象树机制&#xff0c;能够自动、有效的组织和管理继承自QObject的Qt对象&#xff0c;不需要用户手动回收资源&#xff0c;系统自动调用析构函数。 验证对象树功能&#xff1a; 新建C文件 继承自QPushButton&#xff0c;但没有QPushButton&#xff0c;但有其父类…

简单高效的交易系统,只需这种行情分析工具

行情分析的意义在于&#xff0c;首先它给我们不得不做出的方向性选择提供一些技术的支持。其次&#xff0c;它可以给我们提出一个入市点&#xff0c;一个理想的盈利点&#xff0c;一个认输的失败点。无论你用什么办法进行行情预测或指导&#xff0c;只要你的分析结果中有这样三…

Vue中的侦听器:数据变化的秘密揭示

一、侦听器&#xff1a;vue中想监听数据的变化 &#x1f680;&#xff08;一&#xff09;侦听器watch 如何侦听到某个变量值改变呢&#xff1f;使用watch配置项&#x1f6a7;&#x1f6a7;&#x1f6a7;watch&#xff1a;可以侦听到data/computed属性值的改变。语法&#xff…

C++入门学习(2)

思维导图&#xff1a; 一&#xff0c;缺省参数 如何理解缺省参数呢&#xff1f;简单来说&#xff0c;缺省参数就是一个会找备胎的参数&#xff01;为什么这样子说呢&#xff1f;来看一个缺省参数就知道了&#xff01;代码如下&#xff1a; #include<iostream> using std…

商城-学习整理-基础-环境搭建(二)

目录 一、环境搭建1、安装linux虚拟机1&#xff09;下载&安装 VirtualBox https://www.virtualbox.org/&#xff0c;要开启 CPU 虚拟化2&#xff09;虚拟机的网络设置3&#xff09;虚拟机允许使用账号密码登录4&#xff09;VirtualBox冲突5&#xff09;修改 linux 的 yum 源…

JDK JRE JVM

JDK JRE JVM JDKJREJVM三者之间的联系三者之间的区别 JDK JDK是用于开发、编译、调试和运行Java应用程序的软件包&#xff0c;包含了Java编程语言的开发工具和Java运行时环境。JDK包括Java编译器&#xff08;javac&#xff09;、Java虚拟机&#xff08;JVM&#xff09;和Java类…

AtcoderABC246场

#A - Four PointsA - Four Points 题目大意 在平面上有一个矩形&#xff0c;矩形的每条边都平行于x轴或y轴&#xff0c;并且它的面积不为零。 给定这个矩形三个顶点的坐标 (x1, y1), (x2, y2), (x3, y3)&#xff0c;找到另外一个顶点的坐标。 思路分析 根据矩形的性质可以通…

为什么低代码只能掀起小浪花?了解低代码的得失与前景

导语&#xff1a;低代码是相对于高代码和无代码的一个中间概念&#xff0c;通常强调的是用户不需要学习如何写代码&#xff0c;就能完成工作。然而低代码模式一直不温不火&#xff0c;原因是什么呢&#xff1f;一起来看一下吧。 最近互联网大公司裁员消息又起&#xff0c;“低代…

裁剪内核和新内核available差异大原因分析

背景 host内核裁剪时会进行收益的比较&#xff0c;比如裁剪前用5.10最新内核得出内存数据&#xff0c;然后和裁剪后的内存数据进行对比。 在进行对比中&#xff0c;发现裁剪后的内存available比裁剪前多了10个G&#xff0c;有点不正常了&#xff0c;需要分析下这10个G到底是怎…

基于VORS、CCDM模型、GeoDetector、GWR模型集成技术在城镇化与生态系统健康空间关系分析及影响效应

详情点击链接&#xff1a;基于VORS、CCDM模型、GeoDetector、GWR模型集成技术在城镇化与生态系统健康空间关系分析及影响效应 第一&#xff1a;生态系统健康理论基础及研究热点分析 1.生态系统健康概念及内涵 2.生态系统健康评价方法与指标体系 3.城镇化与生态系统健康 4.…

Git使用规范Git常用命令

Git使用规范&&Git常用命令 分支规范 master分支 master的分支HEAD和历史commit均是是稳定、可发布的状态。master分支的每个commit都需要打tag&#xff0c;如v1.0、v1.1、v1.2、v2.0等。仅能从test分支和hotfix分支合并过来。 hotfix的合并必须是通过代码审核和测试…

AI数字人:图像超分辨率模型 Real-ESRGAN

1 Real-ESRGAN介绍 1.1 Real-ESRGAN是什么&#xff1f; Real-ESRGAN全名为Enhanced Super-Resolution GAN&#xff1a;增强的超分辨率的对抗生成网络&#xff0c;是由腾讯ARC实验室发布的一个盲图像超分辨率模型&#xff0c;它的目标是开发出实用的图像/视频修复算法&#xf…

oled拼接屏在柳州的户外广告中有哪些应用展现?

柳州oled拼接屏是一种高端的显示屏&#xff0c;它采用了OLED技术&#xff0c;具有高亮度、高对比度、高色彩饱和度、高刷新率等优点&#xff0c;能够呈现出更加真实、清晰、细腻的图像效果。 同时&#xff0c;柳州oled拼接屏还具有拼接功能&#xff0c;可以将多个屏幕拼接在一…

2023婴幼儿奶粉市场数据分析(天猫数据中心)

我国婴幼儿奶粉市场一直保持着相当大的规模&#xff0c;虽然近几年新生人口数量不断下降&#xff0c;但伴随消费者的消费升级不断加速、大龄孩童吃奶粉的时间延长等&#xff0c;整体来看&#xff0c;婴幼儿奶粉行业市场规模保持平稳。 根据鲸参谋电商数据分析平台的相关数据显示…