温馨提示×

centos sftp如何断点续传

小樊
51
2026-09-15 02:20:53
栏目: 智能运维

在 CentOS 上使用 SFTP 实现“断点续传”,常见做法有以下几种,按推荐程度排序:


一、使用 lftp(最推荐,原生支持断点续传)

1. 安装 lftp

yum install -y lftp

2. 登录 SFTP 服务器

lftp sftp://user@host

输入密码后进入交互模式。

3. 断点续传上传

put -c /local/file.zip
  • -c 表示 continue(断点续传)

4. 断点续传下载

get -c /remote/file.zip

5. 批量续传(推荐)

mirror --continue --reverse local_dir remote_dir   # 上传
mirror --continue remote_dir local_dir             # 下载

✅ 优点

  • 原生支持断点续传
  • 网络中断可自动重试
  • 支持目录同步

二、使用 sftp 命令(OpenSSH 自带,有限支持)

CentOS 自带的 sftp 本身不支持自动断点续传,但可手动实现:

1. 查看远程文件大小

sftp> ls -l remote_file

2. 使用 reput(仅部分版本支持)

sftp> reput local_file remote_file

⚠️ 并不是所有 CentOS 版本都支持 reput

3. 手动续传(不推荐)

  • 用 dd 跳过已完成部分
  • 再 append 上传(复杂、易错)

三、使用 rsync + ssh(非 SFTP 协议,但最稳定)

如果服务器允许 SSH:

rsync -avzP -e ssh /local/file user@host:/remote/path/
  • -P = 断点续传 + 进度
  • 非常稳定,适合大文件

⚠️ 要求服务端开启 SSH(不是纯 SFTP 服务)


四、使用图形化工具(Windows / Mac)

  • FileZilla(SFTP,支持断点续传)
  • WinSCP(SFTP,支持断点续传)

总结建议

场景 推荐方案
CentOS 命令行 ✅ lftp
仅 SFTP 服务 ✅ lftp
可 SSH ✅ rsync
手动续传 ❌ 不推荐

如果你愿意,我可以:

  • 给你一个 lftp 自动重连脚本
  • 或针对 某次具体报错 帮你分析

直接说你的使用场景即可。

0 踩