首页 > 其他分享 >rsync命令详解

rsync命令详解

时间:2024-07-29 11:56:02浏览次数:9  
标签:文件 rsync 同步 ... -- 命令 详解 dir

 

rsync命令是Linux和其他Unix-like系统上一个非常强大的命令行工具,主要用于数据同步和文件传输。它的名字是"remote sync"的缩写,但不仅限于远程同步,也支持本地文件和目录之间的同步。rsync的主要优势在于其高效的增量传输方式,即只传输源和目标之间发生变化的文件块,而不是整个文件。以下是rsync命令的详细解释:

一、基本功能

  • 数据同步:在本地或远程主机之间同步文件和目录。
  • 增量传输:只传输变化的文件块,减少数据传输量。
  • 多种选项:提供丰富的选项来满足不同的同步需求。

二、常用选项

 

选项说明
-a, --archive 归档模式,递归并保留对象属性,等同于-rlptgoD。
-v, --verbose 显示同步过程的详细(verbose)信息。
-r, --recursive 递归模式,包含目录及子目录中所有文件。
-l, --links 对于软链接文件仍然复制为软链接文件。
-p, --perms 保留文件的权限标记。
-t, --times 保留文件的时间标记。
-g, --group 保留文件的属组标记(仅超级用户使用)。
-o, --owner 保留文件的属主标记(仅超级用户使用)。
-D 保留设备文件及其他特殊文件。
-z, --compress 在传输文件时进行压缩。
-H, --hard-links 保留硬链接。
-A, --acls 保留ACL属性(隐含--perms)。
--delete 删除目标位置有而原始位置没有的文件。
--exclude='pattern' 排除与指定模式匹配的文件或文件夹。
--exclude-from='file' 从指定文件中读取排除模式,并进行同步。
--include='pattern' 只包括与指定模式匹配的文件或文件夹。
--include-from='file' 从指定文件中读取包含模式,并进行同步。
--progress 显示同步进度和速度信息。
--dry-run 模拟同步操作,显示将要发生的更改,但不实际执行。
--bwlimit=KBPS 限制带宽使用率,以KB/s为单位。

 

三、使用方法

rsync的使用方法非常灵活,可以通过多种方式进行文件同步,包括通过远程shell或rsync守护进程。基本的使用格式如下:

  • 本地同步:rsync [OPTION]... SRC... [DEST]
  • 通过远程shell同步(拉取):rsync [OPTION]... [USER@]HOST:SRC... [DEST]
  • 通过远程shell同步(推送):rsync [OPTION]... SRC... [USER@]HOST:DEST
  • 通过rsync守护进程同步(拉取):rsync [OPTION]... [USER@]HOST::SRC... [DEST]
  • 通过rsync守护进程同步(推送):rsync [OPTION]... SRC... [USER@]HOST::DEST

四、应用实例

  1. 将本地目录复制到远程主机:

    bash复制代码
      rsync -avz /local/dir/ user@remote:/remote/dir/
  2. 从远程主机复制目录到本地:

    bash复制代码
      rsync -avz user@remote:/remote/dir/ /local/dir/
  3. 使用SSH协议进行远程复制(等同于上述示例,因为rsync默认使用SSH):

    bash复制代码
      rsync -avz -e ssh /local/dir/ user@remote:/remote/dir/
  4. 仅列出远程主机上的文件而不复制:

    bash复制代码
      rsync -avzn user@remote:/remote/dir/ /local/dir/
  5. 使用rsync进行增量备份:

    bash复制代码
      rsync -avz --backup --backup-dir=/backup/dir/ /source/dir/ /destination/dir/
  6. 限制传输带宽:

    bash复制代码
      rsync -avz --bwlimit=500 /source/dir/ /destination/dir/

 

测试: 同步本地test目录到远程服务器192.168.1.200 的test目录

rsync -avhpW --no-compress -P4 --progress /test/ [email protected]:/test/

 

标签:文件,rsync,同步,...,--,命令,详解,dir
From: https://www.cnblogs.com/david-cloud/p/18329803

相关文章

  • Java编译和运行的命令
    目录编译Java程序命令格式:在Java中,编译和运行Java程序涉及到两个主要的命令:javac和java。编译Java程序要使用javac命令编译Java程序,你需要指定包含Java源代码的.java文件。编译过程会将.java文件转换成Java虚拟机(JVM)可以执行的.class文件。命令格式:bashjavacFileName.......
  • find 命令中使用 -exec 和xargs 区别, 以及使用案例
    一、概念释义find 命令是Linux和Unix系统中用于查找文件的强大工具。它允许你根据各种条件(如文件名、大小、类型、权限等)来搜索文件。在使用 find 命令时,-exec 和 xargs 是两种常用的方式来对找到的文件执行额外的命令。尽管它们的目的相似,但在使用方式和效率上存在一......
  • Java编译和运行的命令
    Java编译和运行的命令编译Java程序使用javac命令来编译Java源代码文件(通常是.java扩展名)。基本语法如下:javac[选项][源文件]选项:-d:指定输出目录,默认为当前目录。-g:生成调试信息。-classpath:指定类路径,用于查找被引用的类文件。源文件:要编译的Java源代码文件的路径......
  • RocketMQ命令介绍及RocketMQ的可视化工具部署
    前言上篇文章我们介绍了RocketMQ集群的搭建,但是我们只能通过命令来查看集群情况。所以,这篇文章我们主要介绍RocketMQ的可视化平台。RocketMQ的可视化工具主要用于监控和管理RocketMQ集群,帮助我们更加直观地了解RocketMQ的运行状态和性能指标。mqadmin工具RocketMQ官方......
  • SoC片上系统详解
    在当今这个科技日新月异的时代,SoC(SystemonChip,系统级芯片或片上系统)作为集成电路技术的巅峰之作,正逐步渗透到我们生活的方方面面。从智能手机到智能家居,从工业控制到物联网设备,SoC以其独特的技术优势和广泛的应用场景,引领着科技潮流,推动着社会进步。本文将从技术角度深入剖析SoC......
  • Elasticsearch——聚合详解
    作者简介:大家好,我是smart哥,前中兴通讯、美团架构师,现某互联网公司CTO联系qq:184480602,加我进群,大家一起学习,一起进步,一起对抗互联网寒冬学习必须往深处挖,挖的越深,基础越扎实!阶段1、深入多线程阶段2、深入多线程设计模式阶段3、深入juc源码解析阶段4、深入jdk其余源码解析......
  • 【设计模式】代理模式详解
    1.简介代理模式是常用的Java设计模式,该模式的特点是代理类与委托类共享相同的接口。代理类主要负责预处理消息、过滤消息、将消息转发给委托类,并在事后处理消息等。代理类与委托类之间通常存在关联关系,一个代理类对象与一个委托类对象关联。代理类对象本身不真正实现服务,而......
  • 瑞斯康达-多业务智能网关 list_base_config.php 远程命令执行漏洞
    0x01阅读须知        技术文章仅供参考,此文所提供的信息只为网络安全人员对自己所负责的网站、服务器等(包括但不限于)进行检测或维护参考,未经授权请勿利用文章中的技术资料对任何计算机系统进行入侵操作。利用此文所提供的信息而造成的直接或间接后果和损失,均由使用者......
  • Redis中pipeline(管道)详解
    redis管道pipeline举个例子:小卖铺免费让你拿50瓶饮料,你是一次拿一瓶拿回家,还是打包一次或者多次拿回家?概念Redis管道(pipelining)是一种在客户端向服务端发送多个请求而不等待响应的技术。它可以显著提高Redis应用程序的性能。管道的主要思想是客户端向服务端发送多个请求......
  • (BS ISO 11898-1:2015)CAN_FD 总线协议详解5- MAC子层描述4
    5.5帧编码帧中的比特流应按照不归零(NRZ,Non-Return-to-Zero)方法进行编码。这意味着在整个比特时间内生成的比特电平是恒定不变的。为了限制可用于同步的最大边沿(即信号波形的上升沿或下降沿)间距,帧的不同部分如起始边界(SOF,StartofFrame)、仲裁字段、控制字段、数据字段以......