跨公网传输大文件的失败, 往往不是因为工具不好, 而是准备不足。下面 5 项检查, 可以覆盖绝大多数翻车场景。

1. 协议选对了吗

对比一下常见选择的实际表现:

协议加密断点续传适用场景
SFTP (SSH)✓✓跨公网默认选择
FTPS✓✓需要兼容既有 FTP 体系
FTP✗✓仅内网可信环境

跨公网请默认使用 SFTP, 并确认算法套件是 aes256-gcm 或 chacha20-poly1305 级别。

2. 校验过完整性吗

传输成功 ≠ 文件正确。传到对端后先核对摘要:

# 发送端
sha256sum app-release-8.0.tar.gz > app-release-8.0.tar.gz.sha256

# 接收端
sha256sum -c app-release-8.0.tar.gz.sha256

在 Xftp 的会话属性里可以开启"传输完成后自动校验", 失败自动重传, 能省掉这一步人工核对。

3. 断点续传准备好了吗

几 GB 的文件在公网上传一小时以上很常见, 中途抖动几乎必然发生:

  • 开启断点续传, 失败后从断点继续而不是重传
  • 传输队列开启自动重试, 重试间隔建议 30 秒起
  • 避免传输过程中修改本地源文件, 否则校验必然失败

4. 带宽会不会挤爆业务

上班时间跑满带宽, 影响的是所有人。建议:

  • 设置传输限速, 保留至少 30% 带宽给业务
  • 大包传输安排在业务低峰期
  • 多个小文件先打包成归档, 减少连接建立开销

5. 传完之后谁触发下一步

上传只是部署的前半程。用传输钩子把后半程接上:

# 上传完成后在远端执行
cd /opt/app/release && tar -xzf app-release-8.0.tar.gz && ./restart.sh
小技巧
在 Xftp 的会话属性里配置“传输后执行远端命令”, 可以把解压、切换软链、重启服务串成一步。

把这 5 项存进自己的上线检查清单,大文件传输基本不会再成为发布流程里的不确定因素。