day14:RSYNC同步

news2024/11/24 16:20:18

一,概述

概述

rsync (开源)是一个高效的文件同步和传输工具,广泛用于 Linux 和 Unix 系统中。它可以在本地和远程系统之间同步文件和目录,同时支持增量备份,能够只传输更改过的文件部分,以减少带宽和时间。

扩展

sync(同步)

sync 是一种数据传输方式,其中数据在发送和接收之间是实时的。这意味着发送方在数据传输完成后,接收方才能开始处理数据。在这种模式下,所有操作都必须在数据传输完成后才能继续。sync 的典型应用场景包括文件系统的同步和实时数据传输。

async(异步)

async 是一种数据传输方式,其中数据的发送和接收是独立进行的。在这种模式下,发送方在数据传输的同时可以继续执行其他操作,而不必等待接收方确认接收完成。async 通常用于后台处理或延迟处理的场景。

rsync(远程同步)

rsync 是一个用于文件和目录同步的工具,支持本地和远程同步。它的主要特点是能够高效地只传输已更改的文件部分,从而节省带宽和时间。

同步方式

  • 本地同步:在同一台机器上同步文件和目录。
  • 远程同步:在不同主机之间同步文件,使用 SSH 或 RSH 协议进行安全传输。
  • 增量同步:仅同步更改的部分,而不是整个文件,节省时间和带宽。

二,命令使用

命令概述

rsync [选项] 源 目标

选项描述示例命令
-a归档模式:递归复制文件并保留所有文件属性。rsync -av --delete-after /local/dir/ user@remote:/remote/dir/
-r递归:复制子目录及其内容。rsync -avz --delete-after /local/dir/ user@remote:/remote/dir/
-v详细模式:输出详细的传输信息。rsync -av --delete-after --progress /local/dir/ user@remote:/remote/dir/
-z压缩:在传输时进行压缩,适用于慢速网络。rsync -avz --delete-after /local/dir/ user@remote:/remote/dir/
-e指定远程 shell:通常用于指定使用的传输协议,如 sshrsync -av --delete-after -e 'ssh -p 2222' /local/dir/ user@remote:/remote/dir/
--delete删除多余文件:在目标目录中删除源目录中不存在的文件。rsync -av --delete /local/dir/ user@remote:/remote/dir/
--delete-after在传输后删除:完成文件传输后删除目标中多余的文件。rsync -av --delete-after /local/dir/ user@remote:/remote/dir/
--dry-run模拟运行:显示将要执行的操作,但不实际执行任何操作。rsync -av --delete-after --dry-run /local/dir/ user@remote:/remote/dir/
-u只更新:仅复制源文件比目标文件更新的文件。rsync -avu --delete-after /local/dir/ user@remote:/remote/dir/
--progress显示进度:在传输过程中显示文件传输的进度。rsync -av --delete-after --progress /local/dir/ user@remote:/remote/dir/
-h人类可读:以更易读的格式显示文件大小(如 KB、MB)。rsync -avh --delete-after /local/dir/ user@remote:/remote/dir/
-P部分传输和进度显示:显示进度并保留部分传输的文件。rsync -avP --delete-after /local/dir/ user@remote:/remote/dir/
--exclude排除特定文件或目录:在同步时排除某些文件或目录。rsync -av --delete-after --exclude '.git/' /local/dir/ user@remote:/remote/dir/
--include包括特定文件或目录:在排除前包括某些文件或目录。rsync -av --delete-after --include '*.txt' --exclude '*' /local/dir/ user@remote:/remote/dir/

本机同步

rsync -av /源地址  /目标地址

  • -a:归档模式,表示递归复制并保留符号链接、权限、时间戳等。并且以递归方式(保证树形结构)
  • -v:详细输出,显示同步过程。
  • -r:用于拷贝目录
  • -z:传输文件时压缩

远程同步

rsync -av /源地址 user@remote_host:/目标地址

  • user:远程主机的用户名。
  • remote_host:远程主机的地址或域名。

三,作为服务器使用

目的

rsync 作为服务器使用,可以允许远程客户端访问并同步文件。这种方式可以简化多个用户或设备之间的文件同步。

实现

要设置 rsync 服务器,首先需要安装 rsync,然后配置 rsyncd.conf 文件,基本步骤如下:

  • 创建配置文件 /etc/rsyncd.conf,包含如下内容:

    • # 监听的端口
      port = 873
      #rsync默认端口
      
      # 模块定义(隐藏一些信息)
      [back(自定义一个名字,建议见名知义)]
      path = /使用本模块后,文件存放的位置
      log file=/var/log/日志文件
      comment = 备注信息
      read only = no  # 允许写入
      list = yes  # 允许列出文件
      auth users = 【secret或本地的用户】  # 允许的用户
      secrets file = /etc/rsyncd.secrets  # 密码文件路径
      
      

      使用:rsync -avz root:xxx::[模块名] 目标

  • 创建密码文件 /etc/rsyncd.secrets,格式如下:

    • user:password
      
  • 启动 rsync 服务:

    • rsync --daemon(这个时间其放到后台,类似于rsyncd)

四,高级功能使用

rsync密码设置

为了保护文件同步的安全性,可以使用密码文件来控制对 rsync 服务器的访问。(可以不是linux的用户)

  1. /etc/rsyncd.secrets 文件中添加用户和密码,格式为 user:password

  2. 确保该文件的权限设置为仅限于 rsync 用户访问:

    1. chmod 600 /etc/rsyncd.secrets

  3. 使用 rsync 客户端连接时,指定 --password-file 选项:(待用)

    1. rsync --password-file=/etc/rsyncd.secrets user@remote_host::模块名 /path/to/destination/

    2. --password-file=/etc/rsyncd.secrets

      1. 指定存储用户凭据的文件,rsync 会从此文件中读取密码进行身份验证。
      2. 如果你在 rsync 模块的配置中已经指定了密码文件的位置,那么在命令中可以省略 --password-file 选项。

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

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

相关文章

Leaflet查询矢量瓦片偏移的问题

1、问题现象 使用Leaflet绘制工具查询出来的结果有偏移 2、问题排查 1)Leaflet中latLngToContainerPoint和latLngToLayerPoint的区别 2)使用Leaflet查询需要使用像素坐标 3)经排查发现,container获取的坐标是地图容器坐标&…

JSP水果商城管理系统WEB项目

一、项目简介 > FruitsDay 是一个用于销售水果的WEB商城项目。 > 该项目主要通过Java和JSP实现,旨在帮助用户实现网购水果,并帮助商家管理水果库存。 > 项目采用Maven构建,使用JSP和Servlet实现,比较适合JAVA初学者…

Rust 力扣 - 1. 两数相加

文章目录 题目描述题解思路题解代码题目链接 题目描述 题解思路 我们使用一个全局的备忘录,然后我们遍历数组,如果当前元素在备忘录里面找到了,就返回备忘录里面记录的下标和当前下标记录,没找到就把当前元素匹配的元素和当前元素…

ssm016基于 Java Web 的校园驿站管理系统(论文+源码)_kaic

毕 业 设 计(论 文) 题目:校园驿站管理系统的设计与实现 摘 要 互联网发展至今,无论是其理论还是技术都已经成熟,而且它广泛参与在社会中的方方面面。它让信息都可以通过网络传播,搭配信息管理工具可以很好…

NCCL安装(Ubuntu等)

目录 一、NCCL的定义二、安装NCCL的原因1、加速多GPU通信2、支持流行的深度学习框架3、提高计算效率4、易于使用和集成5、可扩展性 三、NCCL安装方法1、下载安装包2、更新APT数据库3、使用APT安装libnccl2包,另外,如果需要使用NCCL编译应用程序&#xff…

Spring的IOC技术(配置文件形式)

目录 一、什么是IOC 二、IOC的程序入门 1.创建mavenJava项目,引入依赖 2.编写接口和实现类 3.编写spring核心配置文件(applicationContext.xml) 4.测试类 5.测试结果-------一个对象 三、Spring框架的Bean管理的配置文件 四、实例化Bean对象的三种方式 1.无…

论文阅读(三十二):EGNet: Edge Guidance Network for Salient Object Detection

文章目录 1.Introduction2.Related Works3.Salient Edge Guidance Network3.1Complementary information modeling3.1.1Progressive salient object features extraction3.1.2Non-local salient edge features extraction 3.2One-to-one guidance module 4.Experiments4.1Imple…

深度学习:卷积神经网络中的img2col

im2col 是一种在卷积神经网络(CNN)中常用的技术,用于将输入图像数据转换为适合卷积操作的矩阵形式。通过这种转换,卷积操作可以被高效地实现为矩阵乘法,从而加速计算。 在传统的卷积操作中,卷积核&#xff…

java:入门基础(1)

练习一:文字版格斗游戏 需求: ​ 格斗游戏,每个游戏角色的姓名,血量,都不相同,在选定人物的时候(new对象的时候),这些信息就应该被确定下来。 举例: ​ 程序运行之后…

计算机毕业设计 | springboot+vue电影院会员管理系统 影院后台管理(附源码)

1,项目背景 随着互联网时代的到来,同时计算机网络技术高速发展,网络管理运用也变得越来越广泛。因此,建立一个B/S结构的电影院会员管理系统;电影院会员管理系统的管理工作系统化、规范化,也会提高影院形象…

TypeScript(中)+算法(二)

文章目录 算法排序冒泡排序选择排序 TS类型声明类型推断类型总览js中的数据类型ts中的数据类型原始类型和包装对象原始类型包装对象自动装箱 常用类型与语法anyunknownnevervoidvoid 与 undefined总结 算法 排序 有十种排序算法,分别是:冒泡排序&#…

算法定制LiteAIServer视频智能分析软件的过亮、过暗及抖动检测应用场景

在现代社会中,视频监控系统扮演着举足轻重的角色,其视频质量直接关乎监控系统的可靠性与有效性。算法定制LiteAIServer通过引入抖动检测和过亮过暗检测功能,为视频监控系统的稳定性和用户体验带来了显著提升。 以下是对这两种功能的技术实现、…

【隐私计算篇】全同态加密应用场景案例(隐私云计算中的大模型推理、生物识别等)

1.题外话 最近因为奖项答辩,一直在忙材料准备,过程非常耗费时间和精力,很难有时间来分享。不过这段时间虽然很忙碌,但这期间有很多新的收获,特别是通过与领域内专家的深入交流和评审过程,对密码学和隐私计算…

elasticsearch 8.x 插件安装(三)之拼音插件

elasticsearch 8.x 插件安装(三)之拼音插件 elasticsearch插件安装合集 elasticsearch插件安装(一)之ik分词器安装(含MySQL更新) elasticsearch 8.x插件(二)之同义词安装如何解决…

mac-ubuntu虚拟机(扩容-共享-vmtools)

一、磁盘扩容 使用GParted工具对Linux磁盘空间进行扩展 https://blog.csdn.net/Time_Waxk/article/details/105675468 经过上面的方式后还不够,需要再进行下面的操作 lvextend 用于扩展逻辑卷的大小,-l 选项允许指定大小。resize2fs 用于调整文件系统的…

2024 年 11 个最佳开源网络爬虫和抓取工具

用于网络爬行的免费软件库、软件包和 SDK?或者它是您需要的网络抓取工具吗? 嘿,我们是 Apify 。您可以在 Apify 平台上构建、部署、共享和监控您的抓取工具和爬虫。 来看看我们吧。 如果您厌倦了专有网络抓取工具的限制和成本,或者厌倦了被单一供应商锁定,开源网络爬虫和…

Centos安装ZooKeeper教程(单机版)

本章教程介绍,如何在Centos7中,安装ZooKeeper 3.9.3版本。 一、什么是ZooKeeper ? Apache ZooKeeper 是一个分布式协调服务,用于大型分布式系统中的管理和协调。它为分布式应用提供了一个高性能的通信框架,简化了开发人员在构建复杂分布式系统的任务。ZooKeeper 能够解决一…

检索引擎Elasticsearch

一.为什么要用Elasticsearch 由于我们在运行我们的项目的时候通常都是将数据存到mysql或者sql serve等数据库中,在进行数据搜索时使用sql 语句 like进行模糊匹配查询,其一:虽然可以查到数据,但是它模糊匹配查询速度较慢&#xff0…

CentOS9 Stream 支持输入中文

CentOS9 Stream 支持输入中文 方法一:确保 gnome-control-center 和相关组件已更新方法二:手动添加输入法源配置方法三:配置 .xinputrc 文件方法四:检查语言包 进入centos9 stream后,点击右上角电源键,点击…

基于PHP的http字段查询与注册(V1)(持续迭代)

目录 版本说明: 实现环境(WAMP): 数据库链接 查询页面 php处理逻辑 字段添加 版本说明: 该查询功能以查询http首部字段为目的实现的字段属性、字段内容的查询,以及对新字段信息的数据注册。 v1实现…