服务器文件传输的5种方式:scp、rsync、sftp、rz/sz、WebDAV对比

服务器文件传输的5种方式:scp、rsync、sftp、rz/sz、WebDAV对比

你有一台服务器,本地有一个文件。你想把它传到服务器上。方法太多了。你用scp,因为你只会scp。其实scp不一定是最快的,也不一定是最安全的。你只是习惯了。今天把5种方式放一起,告诉你什么时候用哪个。

先看一个数据

在集群和云端运维场景下,超过90%的文件传输都基于SSH协议。但同样是SSH,scp、sftp、rsync的表现完全不同。rsync同步100万个小文件,效率可能是scp的10倍以上。你选对了工具,可能省的不只是时间。

方式一:scp——最直接,但不支持续传

scp是OpenSSH自带的,几乎所有Linux都预装。语法简单:scp /local/file user@host:/remote/

优点

  • 系统自带,不需要装任何东西
  • 语法简单,适合一次性传输

缺点

  • 不支持断点续传。传一半断了,从头再来
  • 大量小文件效率低,每个文件都要建立新的连接

适用场景:传一个配置文件、一个脚本,几KB的东西。或者你只想用一个命令解决,不追求效率。

一句话:能跑,但不是最优解。

方式二:sftp——交互式管理,有续传能力

sftp基于SSH,但它不只是一条命令。sftp user@host进去之后,你可以lscdputgetrmmkdir——像FTP一样在服务器上操作文件

优点

  • 支持断点续传(reget下载、reput上传)
  • 交互式,方便浏览和操作
  • 比scp对大量小文件稍友好

缺点

  • 保持SSH会话,资源消耗中等
  • 大文件传输效率不如rsync

适用场景:你不知道服务器上有什么,需要先看看目录结构再决定传哪个文件。或者你需要上传到多个不同目录,不想每次敲完整路径。

方式三:rsync——增量同步,效率之王

rsync是专门为同步设计的。它能对比本地和远程文件的差异,只传变化的部分。第二次同步时,可能几秒钟就完了

优点

  • 增量传输。第二次只传变更,效率极高
  • 支持断点续传(--partial参数)
  • 支持压缩(-z)、限速、删除、排除等高级选项
  • 适合大量小文件和目录同步

缺点

  • 需要两端都安装rsync(Linux一般自带,Windows需额外安装)
  • 首次对比会消耗一定CPU和内存

适用场景:项目代码同步、备份、定时任务——任何你需要保持两边一致的情况。

方式四:rz/sz——最省事的终端传输

rz和sz是lrzsz工具包里的。在终端里敲rz,弹出一个文件选择框;选完文件,它就传上去了。不需要开新窗口,不需要记路径。

优点

  • 在SSH会话里直接操作,不用另开工具
  • 适合偶尔传一两个文件,不想切窗口

缺点

  • 依赖终端支持(Xshell、SecureCRT支持好,原生Linux终端需配置)
  • 速度慢,不适合大文件
  • 不支持文件夹批量传输

适用场景:你在终端里,临时要传一个配置文件。不想折腾,就想快速搞定。

方式五:WebDAV——HTTP上的文件管理

WebDAV是HTTP协议的扩展,让你像操作本地文件夹一样操作远程文件。

优点

  • 支持多种客户端(Rclone、Cyberduck、Windows资源管理器)
  • 适合大量小文件、频繁访问
  • 可跨防火墙(走443端口)

缺点

  • 需要单独配置WebDAV服务(Nginx/Apache模块)
  • 不适合大文件,大文件传输效率差
  • 需要额外的账号密码管理

适用场景:你需要一个类似网盘的共享文件夹,多人访问、版本管理。

横向对比:一图看懂

特性scpsftprsyncrz/szWebDAV
系统自带
断点续传
增量同步
交互式管理
大文件效率一般一般一般
大量小文件一般一般

选型决策:别选对的,选合适的

  • 传一个配置文件:scp足够,一行搞定
  • 需要浏览服务器目录再决定传什么:sftp,进去看一圈
  • 定期备份或同步项目代码:rsync,否则你的第二次同步就是浪费时间
  • 人在终端,临时传个文件:rz,不用切窗口
  • 需要团队共享文件:WebDAV,配好一次长期用

反常识点:rsync比scp安全吗?不一定。它们都走SSH,加密强度一样。rsync的优势是效率,不是安全。你选rsync是因为它能只传差异,不是因为它更安全。

另一个反常识点:scp已经过时了。OpenSSH官方文档建议使用sftp或rsync替代scp。你还在用scp,只是因为习惯了。

最后一句

文件传输这件事,你不需要会所有工具。但你需要知道:当你需要传100万个文件时,别用scp。当你需要定期同步时,别用sftp。当你只需要传一个配置时,别折腾rsync。

工具本身没有好坏,只有合适不合适。你的任务决定了该用哪个。下次传文件之前,先花10秒想想:这次的任务,哪个工具最合适。

知识库

服务器日志轮转实战:logrotate配置详解

2026-6-16 15:27:33

知识库

服务器运维中常见的“坑”:20个让你熬夜的瞬间

2026-6-17 16:59:03

0 条回复 A文章作者 M管理员
    暂无讨论,说说你的看法吧