简短结论:SFTP 本身(协议层面)是支持断点续传的,在 Ubuntu 上使用 SFTP 是否能断点续传,取决于你用的客户端和命令方式。
SFTP(SSH File Transfer Protocol)基于 SSH,协议支持:
SSH_FXP_WRITE + offset)sftp(OpenSSH 客户端)OpenSSH 自带的 sftp 默认不支持自动断点续传,但可以手动续传:
sftp user@host
手动续传方法:
put -a localfile remotefile
-a 参数:append 模式(追加)示例:
put -a bigfile.iso
⚠️ 注意:
put -arsync over SSH(最推荐)如果你只是想在 Ubuntu 上“断点续传文件”,强烈推荐 rsync:
rsync -P -e ssh bigfile.iso user@host:/path/
优点:
-P = --partial --progress
以下工具在 Ubuntu 上完美支持 SFTP 断点续传:
一般 Ubuntu 的 OpenSSH Server 默认允许 SFTP 续传,除非:
rssh| 方式 | 是否支持断点续传 |
|---|---|
| OpenSSH sftp(自动) | ❌ |
| OpenSSH sftp(put -a) | ✅(手动) |
| rsync over ssh | ✅✅✅ |
| FileZilla | ✅ |
如果你愿意,我可以: