scp和rsync

news2025/1/19 14:35:02

引言

我们平时总会有在不同的设备之间传输文件的需要,好友同事间可以用微信、QQ、网盘等,还是比较方便安全的。而在linux的操作系统中,我们经常需要两台机器之间拷贝文件,或者由于业务需要备份文件,那就不得不用到scp和rsync两个命令,那么什么时候用scp、rsync呐?他俩之间有什么区别呐?

scp

scp命令

scp,安全复制,该命令可以在两个位置之间安全地复制文件和目录。

使用 scp,可以复制文件:

  • 从本地系统到远程系统。
  • 从远程系统到本地系统。

使用 scp 传输数据时,文件是加密的,因此任何敏感内容都不会在传输过程中被篡改。

语法

scp 命令语法如下所示:

其中 OPTION 是scp 选项,例如:

  • -P :指定远程主机 ssh 端口。(P大写)
  • -p :保留文件修改和访问时间。(p小写)
  • -q :抑制进度表和非错误消息的选项。
  • -C :在数据发送到目标机器时压缩数据的选项。(C大写)
  • -r :递归复制目录的选项。
  • -v :详细模式,打印有关其进度的调试消息的选项,这有助于调试连接、身份验证和配置问题。(v小写)

rsync

rsync 命令

rsync 也是一个比较实用的命令,用于通过远程 shell 在两个位置之间同步文件,它通传输源和目标之间的差异来提供更快的文件传输。

rsync 可用于增量备份、在系统之间复制文件,可以替代 scp 、 sftp 和 cp 命令。

语法

-r : 递归传输目录下所有文件
-a : 归档模式,保持所有文件属性
-z : 传输进行压缩处理
–exclude=PATTERN 指定排除不需要传输的文件模式
–exclude-from=FILE 排除FILE中指定模式的文件
–bwlimit :限制I/O带宽 KB/S

区别

  • scp 通过安全的 SSH 连接将文件从本地机器复制到远程机器,而 rsync 允许您同步远程文件夹。
  • scp 读取源文件并将其写入目标,是在本地或通过网络执行线性复制。rsync 也是在本地或通过网络复制文件,但它使用特殊的增量传输算法和一些优化来使操作更快。
  • scp 总是安全的,而 rsync 必须通过 SSH 传输才能安全。
  • 如果要传输大文件,并且传输在完成之前断开连接,rsync 会从中断的地方继续传输,而 scp 没有。
  • rsync 比较每一端的文件并只传输更改文件的更改部分,当你第一次传输文件时,它的行为与 scp 非常相似,但是对于大多数文件未更改的第二次传输,它推送的数据将比 scp 少得多。这也是一种重新启动失败传输的便捷方法,你只需重新发出相同的命令,它就会从上次中断的地方开始,而scp将从头开始。

总之,用scp比较多,因为它使用起来更简单。

对于重复性任务,如 cron 作业,请使用 rsync。如前所述,在多次调用时,它将利用已传输的数据,执行速度非常快并节省资源,它是在网络上保持两个目录同步的绝佳工具。

此外,在处理大文件时,请使用带有 -P 选项的 rsync。如果传输被中断,您可以通过重新发出命令从它停止的地方恢复它。

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

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

相关文章

【React】基于JS 3D引擎库实现关系图(图graph)

主角:3D Force-Directed Graph 简介:一个使用ThreeJS/WebGL进行3D渲染的Graph图库 GitHub: https://github.com/vasturiano/3d-force-graph Ps: 较为复杂或节点巨大时,对GPU>CPU消耗较大,同量级节点对比下优于AntV G6和Echarts…

C语言之分支语句和循环语句

前言 一、什么是语句? 二、分支语句(选择结构) 2.1 if语句 2.2 switch语句 三、循环语句 3.1 while循环 3.2 break与continue语句 3.3 getchar()与putchar() 3.3.1 缓冲区 3.4 for循环 3.4.1 一些for循环的变种 3.5 do...while循…

java运行时内存

从jdk1.7以及以后,静态变量和常量池存在堆空间。

【TSP旅行商问题】改进的大邻域搜索算法LNS

课题名称:基于改进的大规模邻域搜索算法LNS求解TSP问题 版本时间:2024-04-01 程序运行:直接运行LNS_TSP.m 文件即可 代码获取方式: QQ:491052175 VX:Matlab_Lover 模型介绍: 第一步&…

[AutoSar]BSW_Memory_Stack_004 创建一个简单NV block并调试

目录 关键词平台说明背景一、需求二、配置2.1 NvMBlockDescriptors2.2 NvMFeeRef2.3 FeeBlockConfigurations 三、code3.1 声明和定义3.2 调试 关键词 嵌入式、C语言、autosar、OS、BSW 平台说明 项目ValueOSautosar OSautosar厂商vector , EB芯片厂商TI 英飞凌编…

SpringBoot -- 外部化配置

我们如果要对普通程序的jar包更改配置,那么我们需要对jar包解压,并在其中的配置文件中更改配置参数,然后再打包并重新运行。可以看到过程比较繁琐,SpringBoot也注意到了这个问题,其可以通过外部配置文件更新配置。 我…

钉钉事件订阅前缀树算法gin框架解析

当钉钉监测到发生一些事件,如下图 此处举例三个事件user_add_org、user_change_org、user_leave_org,传统的做法是,我们写三个if条件,类似下图 这样字符串匹配效率比较低,于是联想到gin框架中的路由匹配算法&#xff0…

利用Spark将Kafka数据流写入HDFS

利用Spark将Kafka数据流写入HDFS 在当今的大数据时代,实时数据处理和分析变得越来越重要。Apache Kafka作为一个分布式流处理平台,已经成为处理实时数据的事实标准。而Apache Spark则是一个强大的大数据处理框架,它提供了对数据进行复杂处理…

Linux操作系统之nfs网络文件系统

目录 一、NFS简介 1.2 安装配置NFS 一、NFS简介 nfs类似于windows文件共享 将linux的一个目录共享到网络中,网络中的其他所有主机都可以使用这个共享目录中的文件 samba 文件共享 可以在linux中通过samba共享一个目录,然后在linux中可以访问这个共享 …

55 npm run serve 和 npm run build 的分包策略

前言 这里我们来看一下 vue 这边 打包的时候的一些 拆分包的一些策略 我们经常会使用到 npm run build 进行服务的打包 然后 打包出来的情况, 可能如下, 可以看到 chunk-vendors 是进行了包的拆分, 我们这里就是 来看一下 这里 npm run build 的时候的, 一个分包的策略 测试…

【HTML】简单制作一个唱片动画效果

目录 前言 开始 HTML部分 CSS部分 效果图 总结 前言 无需多言,本文将详细介绍一段代码,具体内容如下: 开始 首先新建文件夹,创建两个文本文档,其中HTML的文件名改为[index.html],CSS的…

Matlab|储能辅助电力系统调峰的容量需求研究

目录 1 主要内容 目标函数 约束条件 2 部分代码 3 程序结果 4 下载链接 1 主要内容 该程序参考文献《储能辅助电力系统调峰的容量需求研究》,主要是对火电、风电和储能等电力设备主体进行优化调度,在调峰能力达不到时采用弃负荷,程序以…

第十四届省赛大学B组(C/C++)子串简写

原题链接:子串简写 程序猿圈子里正在流行一种很新的简写方法: 对于一个字符串,只保留首尾字符,将首尾字符之间的所有字符用这部分的长度代替。 例如 internationalization 简写成 i18n,Kubernetes 简写成 K8s&#…

【贪玩巴斯】Mac的M芯片(M1/2...)下载homebrew方法(24年最新且已验证可行)

1. 按照目前广为流传的方法(M1会出现一些问题): 终端输入: /bin/zsh -c "$(curl -fsSL https://gitee.com/cunkai/HomebrewCN/raw/master/Homebrew.sh)" 使用国内镜像下载。 2. 输入后按照要求步骤执行即可&#xff…

docker-compose运行springinitializr用来创建springboot2

前言 spring initializr官方的地址是: https://start.spring.io/ ,这是一个用来创建springboot脚手架的一个工具,但是目前这个工具已经更新到springboot3,而我还没学springboot3,目前还想继续创建springboot2,我就想能…

如何预防自己网站被流量劫持?HTTPS加密是否可行?

如何预防自己网站被流量劫持?HTTPS加密是否可行? 文章背景: 所谓的流量劫持,就是利用各种恶意软件修改浏览器、锁定主页或不停弹出新窗口,强制用户访问某些网站,从而造成用户流量损失的情形。 流量劫持是一…

前端三剑客 —— CSS (第一节)

目录 CSS 什么是CSS CSS的几种写法: 行内样式 内嵌样式 外链样式 import 加载顺序 CSS选择器*** 基本选择器 ID选择器 标签选择器 类选择器 通用选择器 包含选择器 上节内容中提到了 前端三剑客 —— HTML 超文本标记语言,这节内容 跟大家…

开发一个Java项目常用的工具类推荐

文章目录 新建Java项目pom.xml添加依赖添加代理仓库项目打jar包并上传配置Springboot依赖MySQL数据库相关依赖lombok接口文档Swagger相关其他常用工具类Hutool插件 完整的pom参考其他参考: 每次新起一个Java项目,都需要经历一系列的繁琐步骤去初始化这个…

jupyter Notebook 默认路径修改

1. anaconda prompt 中运行 jupyter notebook --generate-config 命令,将在 C:\Users\Think\.jupyter文件下生成 jupyter_notebook_config.py 文件。 2.在jupyter_notebook_config.py 文件中,找c.NotebookApp.notebook_dir 这个变量, (1)若…

基于Python的微博舆论分析,微博评论情感分析可视化系统,附源码

博主介绍:✌程序员徐师兄、7年大厂程序员经历。全网粉丝12w、csdn博客专家、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java技术领域和毕业项目实战✌ 🍅文末获取源码联系🍅 👇🏻 精彩专栏推荐订阅👇…