rsync 是一个用于在本地和远程计算机之间同步文件和目录的命令行工具。它具有许多强大的功能,包括增量传输、压缩和保留权限等。以下是一些 rsync 的常用选项和用法示例:

基本用法

rsync [OPTION]... SRC [SRC]... DEST

常用选项

  • -a--archive:归档模式,表示递归复制,并保持所有文件属性,相当于 -rlptgoD
  • -v--verbose:显示详细信息
  • -z--compress:在传输过程中压缩文件数据
  • -P:显示传输进度并保持部分传输的文件,相当于 --partial --progress
  • -r--recursive:递归处理子目录
  • -l--links:复制符号链接
  • -h--human-readable:以人类可读的格式输出文件大小
  • -e:指定远程 shell 程序,例如 ssh

本地到本地同步

/source/directory/ 目录中的内容同步到 /destination/directory/ 目录:

rsync -av /source/directory/ /destination/directory/

本地到远程同步

将本地目录 /source/directory/ 中的内容同步到远程主机 remotehost/destination/directory/

rsync -avz /source/directory/ user@remotehost:/destination/directory/

远程到本地同步

将远程主机 remotehost/source/directory/ 中的内容同步到本地目录 /destination/directory/

rsync -avz user@remotehost:/source/directory/ /destination/directory/

仅同步修改过的文件

使用 --update 选项仅同步修改过的文件:

rsync -avu /source/directory/ /destination/directory/

删除目标目录中源目录中没有的文件

使用 --delete 选项删除目标目录中源目录中没有的文件:

rsync -av --delete /source/directory/ /destination/directory/

排除某些文件或目录

使用 --exclude 选项排除特定的文件或目录:

rsync -av --exclude 'node_modules' /source/directory/ /destination/directory/

示例命令

  1. 从本地目录同步到远程服务器:

    rsync -avz -e ssh /path/to/local/dir/ user@remotehost:/path/to/remote/dir/
  2. 从远程服务器同步到本地目录:

    rsync -avz -e ssh user@remotehost:/path/to/remote/dir/ /path/to/local/dir/
  3. 仅同步修改过的文件并显示传输进度:

    rsync -avzu --progress /source/directory/ /destination/directory/

使用 -e 选项的示例

-e 选项用于指定用于远程传输的远程 shell 程序(例如 ssh)。默认情况下,rsync 会使用 ssh 进行远程连接,但你可以通过 -e 选项指定其他的远程 shell 或自定义 ssh 参数。

  1. 指定使用 ssh 进行远程传输

    rsync -avz -e ssh /path/to/local/dir/ user@remotehost:/path/to/remote/dir/
  2. 指定自定义的 ssh 参数

    如果你想使用特定的 ssh 参数,比如更改端口号,可以这样做:

    rsync -avz -e 'ssh -p 2222' /path/to/local/dir/ user@remotehost:/path/to/remote/dir/

    这里,-p 2222 指定使用 ssh 的 2222 端口。

  3. 使用不同的远程 shell 程序

    虽然通常情况下会使用 ssh,但你也可以指定其他远程 shell 程序,例如 rsh

    rsync -avz -e rsh /path/to/local/dir/ user@remotehost:/path/to/remote/dir/

具体示例

  1. 使用默认的 ssh 进行远程同步

    rsync -avz -e ssh /home/user/Documents/ user@remotehost:/backup/Documents/
  2. 使用 ssh 并指定端口号

    rsync -avz -e 'ssh -p 2222' /home/user/Documents/ user@remotehost:/backup/Documents/
  3. 使用 ssh 并指定使用特定的身份验证密钥文件

    rsync -avz -e 'ssh -i /path/to/private_key' /home/user/Documents/ user@remotehost:/backup/Documents/
  4. 使用 rsh 进行远程同步

    rsync -avz -e rsh /home/user/Documents/ user@remotehost:/backup/Documents/

rysnc使用手册的更多相关文章

  1. man rsync翻译(rsync命令中文手册)

    本文为命令rsync的man文档翻译,几乎所有的选项都翻译了,另外关于筛选规则部分只翻译了一部分.由于原文很多地方都比较啰嗦,所以译文中有些内容可能容易让国人疑惑,所以我个人在某些地方加上了注释.若有 ...

  2. FREERTOS 手册阅读笔记

    郑重声明,版权所有! 转载需说明. FREERTOS堆栈大小的单位是word,不是byte. 根据处理器架构优化系统的任务优先级不能超过32,If the architecture optimized ...

  3. JS魔法堂:不完全国际化&本地化手册 之 理論篇

    前言  最近加入到新项目组负责前端技术预研和选型,其中涉及到一个熟悉又陌生的需求--国际化&本地化.熟悉的是之前的项目也玩过,陌生的是之前的实现仅仅停留在"有"的阶段而已. ...

  4. 转职成为TypeScript程序员的参考手册

    写在前面 作者并没有任何可以作为背书的履历来证明自己写作这份手册的分量. 其内容大都来自于TypeScript官方资料或者搜索引擎获得,期间掺杂少量作者的私见,并会标明. 大部分内容来自于http:/ ...

  5. Redis学习手册(目录)

    为什么自己当初要选择Redis作为数据存储解决方案中的一员呢?现在能想到的原因主要有三.其一,Redis不仅性能高效,而且完全免费.其二,是基于C/C++开发的服务器,这里应该有一定的感情因素吧.最后 ...

  6. JS魔法堂:不完全国际化&本地化手册 之 实战篇

    前言  最近加入到新项目组负责前端技术预研和选型,其中涉及到一个熟悉又陌生的需求--国际化&本地化.熟悉的是之前的项目也玩过,陌生的是之前的实现仅仅停留在"有"的阶段而已. ...

  7. Windows API 函数列表 附帮助手册

    所有Windows API函数列表,为了方便查询,也为了大家查找,所以整理一下贡献出来了. 帮助手册:700多个Windows API的函数手册 免费下载 API之网络函数 API之消息函数 API之 ...

  8. linux命令在线手册

    下面几个网址有一些 Linux命令的在线手册,而且还是中文的,还可以搜索.非常方便 Linux命令手册 Linux命令大全 Linux中文man在线手册 每日一linux命令

  9. Mysql完全手册(笔记二,使用数据与性能优化)

    一.使用数据 1.使用变量 MySQL也可以让我们以用户自定义的变量来存储select查询的结果,以便在将来select查询中使用.它们只会在客户会话期间存在,但是它们提供一个方便有效的方法来连接查询 ...

  10. html javascript css3 php3.2.3离线手册

    各位新年快乐! 愿大家"愿有前程可奔赴,也有岁月可回头"! 发现个离线手册很全的网站,分享大家,也mark自用. http://www.shouce.ren/ 手册网

随机推荐

  1. SaaS架构:开放平台架构设计

    大家好,我是汤师爷~ 今天聊聊开放平台架构设计. 为什么需要搭建开放平台 增强产品能力 开放平台能够让三方开发者和合作伙伴开发新的应用或服务,增加原有SaaS产品能力.这样就可以满足更多用户需求,从而 ...

  2. Oracle中查看隐含参数的sql

    select a.ksppinm "Parameter", a.ksppdesc "Description", b.ksppstvl "Session ...

  3. KubeSphere 社区双周报 | KubeSphere 多项更新 | 2023.06.23-07.06

    KubeSphere 社区双周报主要整理展示新增的贡献者名单和证书.新增的讲师证书以及两周内提交过 commit 的贡献者,并对近期重要的 PR 进行解析,同时还包含了线上/线下活动和布道推广等一系列 ...

  4. 云原生周刊:Kubernetes v1.27 发布 | 2023.4.17

    开源项目推荐 Palaemon Palaemon 是一个开源开发工具,用于监控 Kubernetes 集群的健康状况和资源指标并分析内存不足 (OOMKill) 错误. Gitkube Gitkube ...

  5. KubeSphere 社区双周报 | 功能亮点抢“鲜”看 | 2022-09-16

    KubeSphere 从诞生的第一天起便秉持着开源.开放的理念,并且以社区的方式成长,如今 KubeSphere 已经成为全球最受欢迎的开源容器平台之一.这些都离不开社区小伙伴的共同努力,你们为 Ku ...

  6. uniswap v2 类比

    当然,以下是生活中的类比,帮助你理解 Uniswap V2 的核心概念: 1. 自动化做市商(AMM) 生活中的例子:自动售货机 解释:自动售货机内部有一种商品(如饮料)和一定的库存.用户通过投币购买 ...

  7. 12万字的java面试题及答案整理(2024新版)

    前言 本来想着给自己放松一下,刷刷博客,慕然回首,final有哪些用法?static都有哪些用法?java的精度算法?java运算逻辑?异常处理?似乎有点模糊了,那就大概看一下Java基础面试题吧.好记 ...

  8. 2款使用.NET开发的数据库系统

    前言 今天大姚给大家分享2款使用.NET开发且开源的数据库系统. Garnet Garnet是一款由微软研究院基于.NET开源的高性能.跨平台的分布式缓存存储数据库,该项目提供强大的性能(吞吐量和延迟 ...

  9. Python计算1到100的加和

    print(sum(range(1,101))) print(sum([x for x in range(1,101)])) sum_value = 0 for i in range(1,101): ...

  10. 设置 crossdomain.xml 文件实施 HTTP 流式传输

    本文概括介绍了跨域策略文件,以及如何在 Adobe Media Server 中为 HTTP 流式传输配置该文件. 为什么需要采用 crossdomain.xml 文件? 跨域策略文件 跨域策略文件是 ...