温馨提示×

linux sftp断点续传吗

小樊
35
2026-09-02 00:50:44
栏目: 智能运维

简短结论先给出:SFTP 本身支持“断点续传”(resume),但是否能真正续传,取决于你用的客户端和具体命令。

下面详细说一下。


1. SFTP 协议层面

SFTP(SSH File Transfer Protocol)是支持断点续传的,主要依赖:

  • REST / reget / put -a 等机制
  • 服务器记录已传输的偏移量(offset)

也就是说,协议不是问题


2. 常见客户端情况

✅ 命令行 sftp(OpenSSH 自带)

OpenSSH 的 sftp 客户端支持断点续传,但不是默认行为,要用特定命令:

下载断点续传

sftp> reget bigfile.iso

上传断点续传

sftp> reput bigfile.iso

注意:

  • reget / reput 才是“续传”
  • 普通 get / put覆盖重来

✅ lftp(非常推荐)

lftp sftp://user@host
lftp> mirror -c remote_dir local_dir

lftp> pget -c bigfile.iso

✅ 支持自动断点续传、多线程,很稳。


✅ rsync(但不是 SFTP)

严格说 rsync 走 SSH,不走 SFTP:

rsync -P -e ssh user@host:/path/file .

✅ 断点续传体验最好,但不算“SFTP”。


❌ 很多 GUI 工具

  • FileZilla:✅ 支持(失败后可续传)
  • 某些 Web SFTP、简单脚本:❌ 不支持

3. 常见“不能续传”的原因

  • 用了 put 而不是 reput
  • 服务器禁止 FXP / resume
  • 文件被替换 / 时间戳变化
  • 网络层断了但客户端没检测到

4. 实用建议

如果你关心稳定断点续传

  • 小文件 / 偶尔用 → sftp + reget/reput
  • 大文件 / 不稳定网络 → lftp 或 rsync

如果你愿意,可以告诉我:

  • 你用的是 哪个系统 / 客户端
  • 上传还是下载
  • 文件大概多大

我可以直接给你一条最稳的命令。

0