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. 使用Pydantic和SqlAlchemy实现树形列表数据(自引用表关系)的处理,以及递归方式处理数据差异

    在我的设计框架业务中,字典大类.部门机构.系统菜单等这些表,都存在id.pid的字段,主要是作为自引用关系,实现树形列表数据的处理的,因为这样可以实现无限层级的树形列表.在实际使用Pydantic和S ...

  2. 一图为你揭秘云数据库GaussDB管理平台亮点

    云数据库GaussDB管理平台(TPOPS)是一款即开即用.稳定可靠.管理便捷的数据库运维管理平台.通过该平台,用户可以快速部署安装GauSSDB,实现智能化运维,大幅度提升运维和管理效率.一图带你揭 ...

  3. 立即报名 | AI +Serverless Meetup 上海站 8 月 5 日等你相约!

    自 2021 年 5 月后,KubeSphere 社区与上海的各位小伙伴已阔别两年,许久不见,甚是想念!2023 年 8 月 5 日,KubeSphere 社区将走进上海组织一场主题为 "A ...

  4. 使用notepad++批量在每行首尾添加内容

    1 简介 在程序员开发过程中,一个不错的工具是notepad++,该工具为notepad的增强,增强了许多的功能,包括程序员喜欢的列块编辑模式,支持众多的插件,例如json格式化,支持markdown ...

  5. Web渗透04_密码破解

    账号密码是任何一个系统都必备的要素. 弱密码 123456 654321 112233 admin 等等 默认密码 Tomcat控制台: tomcat/tomcat 明文传输 http的明文传输,可以 ...

  6. 宝塔linux 搭建

    前言 2020年的时候,用宝塔搭了个WordPress,一个人的博客不算是博客,没有社区氛围.就转到博客园了. 21年跟着教程,写了一个PHP的个人博客项目. 又有一台阿里云的服务器,就把代码部署上去 ...

  7. Flink如何处理update数据

    问题 Flink实时统计GMV,如果订单金额下午变了该怎么处理 具体描述 实时统计每天的GMV,但是订单金额是会修改的. 订单存储在mysql,通过binlog解析工具实时同步到kafka.然后从ka ...

  8. 细说MySql索引原理

     MySQL索引   MySQL索引的建立对于MySQL的高效运行是很重要的,索引可以大大提高MySQL的检索速度. 可以类比字典,如果要查"mysql"这个单词,我们肯定需要定位 ...

  9. 题解:CF771A Bear and Friendship Condition

    CF771A Bear and Friendship Condition 题解 算法 并查集,图的基本性质 分析 题目意思是,一旦有一些点联通,那么这些点必须两两直接相连.换句话讲,就是图中的每个联通 ...

  10. isObject:判断数据是不是引用类型的数据 (例如: arrays, functions, objects, regexes, new Number(0),以及 new String(''))

    function isObject(value) { let type = typeof value; return value != null && (type == 'object ...