温馨提示×

linux sftp能断点续传吗

小樊
39
2026-09-05 03:16:52
栏目: 智能运维

简短结论先说:SFTP 本身协议层面是支持“断点续传”能力的,但是否能真正“断点续传”取决于你用的客户端和命令

下面详细说一下。


1. SFTP 协议本身支持

SFTP(SSH File Transfer Protocol)是基于 SSH 的,协议里支持:

  • 指定偏移量写入文件(write handle offset data
  • 查询文件大小
  • 追加或覆盖指定位置

所以从协议角度,SFTP 是可以断点续传的


2. 常见客户端情况

✅ 可以断点续传的情况

(1)lftp

lftp sftp://user@host
  • 支持 mirror -c
  • 支持 get -c(续传下载)
  • 支持 put -c(续传上传)

示例:

get -c bigfile.iso
put -c bigfile.iso

最推荐用于断点续传


(2)rsync over SSH(不是纯 SFTP,但常用)

rsync -P -e ssh bigfile user@host:/path/
  • 真正的断点续传
  • 增量同步
  • 非常稳定

⚠️ 注意:这是 rsync over ssh,不是 sftp 命令


(3)图形化工具

  • FileZilla(SFTP)
  • WinSCP

都支持 SFTP 断点续传(失败后可继续)


❌ 不能断点续传的情况

(1)系统自带 sftp 命令

Linux 自带的:

sftp user@host
  • get / put
  • 不支持断点续传
  • 中断后只能重新传

(2)scp

scp file user@host:/path/
  • ❌ 不支持断点续传
  • 中断必须重来

3. 总结对比

工具 是否支持 SFTP 断点续传
sftp(系统命令)
scp
lftp
rsync -e ssh
FileZilla
WinSCP

4. 推荐做法

如果你想要稳定的 SFTP 断点续传

✅ 用 lftp

lftp sftp://user@host -e "put -c bigfile; bye"

或者 ✅ rsync

rsync -P bigfile user@host:/path/

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

  • 你是 上传还是下载
  • 用的什么系统(Linux / macOS / Windows)
  • 文件大概多大

我可以给你一条最合适的命令。

0