易君召
发布于 2026-08-05 / 作者:易君召 / 1 阅读
0

主流文件传输工具对比(lftp /rclone/mc (minio‑client) /sftp (scp) /rsync)

覆盖本地↔远程、对象存储、大文件、断点续传、并发、校验、定时、脚本自动化,从协议、性能、断点、校验、适用场景、优缺点做完整对比。

说明:

  • mc:MinIO 官方客户端,兼容 S3 对象存储

  • lftp:FTP/FTPS/SFTP 批量传输工具

  • rclone:万能云存储同步工具,支持 S3、SFTP、WebDAV、本地、阿里云 OSS 等

  • rsync:传统 Linux 增量同步神器

  • sftp/scp:OpenSSH 自带,scp 已经不推荐,优先 sftp

核心维度对比表

工具

底层协议

断点续传

并发多线程

内置校验 MD5/SHA

增量同步

支持对象存储 S3

后台 / 定时

典型适用场景

rsync

SSH (rsync 协议)

❌单线程,可多实例

✅校验大小 + 修改时间,可 checksum

✅强大增量

需 systemd/cron

Linux 服务器间目录同步、备份

sftp(scp)

SSH‑SFTP

⚠️部分版本支持,不稳定

❌单线程

❌需额外命令校验

❌全量覆盖

cron

简单小文件跨机器传输

lftp

SFTP/FTP/FTPS

✅优秀

✅多线程pget/put

✅md5sum 校验

❌无原生增量

✅内置后台&、mirror

大批量小文件,FTP/SFTP 批量镜像

rclone

多协议适配器

✅可配置并发--transfers

✅全协议支持 hash 校验

✅强大 sync/mirror

✅S3 兼容

✅rcd 后台 + cron

异构存储:本地、S3、OSS、WebDAV 互传

mc(minio‑client)

S3 API

✅S3 分片断点

✅多线程

✅S3 etag/md5 校验

✅mirror 同步

✅原生

✅mc daemon + cron

MinIO/S3 对象存储内部迁移、备份


逐个工具优劣详解

1. rsync

优点

  1. 增量同步行业标杆:只传变化部分,不需要重传整个文件;支持按 checksum 校验而不是只看时间大小。

  2. SSH 加密,几乎所有 Linux 预装,无需额外安装。

  3. 支持删除源端、软链接、权限属主保留,非常适合服务器备份。

缺点

  1. 单线程,大量小文件或者大文件单实例跑慢;只能开多个进程实现并发。

  2. 不支持 S3 对象存储,只能文件系统。

  3. 断点续传只针对已经部分传到目标的文件,中断后重新比对,不是分片断点。

适合:服务器之间 Linux 文件系统备份、定时增量备份;不适合对象存储、跨异构云。

bash

# 示例
rsync -avz --checksum  /data  user@host:/backup

2. sftp /scp(OpenSSH 自带)

优点

  • 系统自带,零安装;SSH 加密,安全。

缺点

  1. 单线程,不支持并发;没有原生断点续传,大文件中断要重来。

  2. 没有内置哈希校验,传输完要手动 md5sum 比对。

  3. scp 在新版 openssh 已经不推荐,建议用 sftp。

适合:少量文件临时拷贝,不适合批量任务、脚本化大规模迁移。

3. lftp

主打:SFTP/FTP 批量镜像,多线程下载上传

优点

  1. pget -c真正断点续传,大文件中断可以续传。

  2. mirror命令实现目录镜像;支持多线程,pget -n 8并发分片。

  3. 内置后台任务、重试,脚本友好,支持 ftp、ftps、sftp。

缺点

  1. 不支持 S3 对象存储,只支持文件协议。

  2. 没有 rsync 那种智能增量,默认全量比对,依赖文件大小时间。

  3. 配置参数多,脚本容易踩坑。

适合:基于 SFTP 的大批量小文件迁移,老旧 FTP 服务器数据迁移。

bash

# lftp sftp示例,8线程上传,断点
lftp sftp://user:pass@host -e "mirror -c --parallel=8 /localdir /remotedir; exit"

4. rclone【全能选手】

优点

  1. 协议超级全:SFTP、S3、MinIO、OSS、COS、WebDAV、本地磁盘,异构存储互传首选。

  2. 支持并发、断点续传、hash 校验、mirror/sync 增量同步,删除冗余文件。

  3. 支持限速、带宽控制、重试、日志,脚本和 cron 友好;可运行 rcd 后台服务。

  4. 即使 SFTP 后端也能做多线程并发,弥补原生 sftp 单线程痛点。

缺点

  1. 是第三方工具,需要安装;配置 remote 需要配置文件。

  2. S3 场景性能略低于原生 mc 客户端。

  3. 大量百万级小文件时内存占用会上升。

适用场景:异构存储迁移,本地 ↔ 对象存储 ↔ sftp 服务器之间互相同步。

bash

# rclone示例,并发8,校验hash
rclone sync /local s3:bucket/path --transfers 8 --checksum

5. mc(minio‑client)

只面向 S3 兼容对象存储(MinIO、AWS S3、阿里云 OSS 兼容模式)

优点

  1. S3 原生 API,分片上传断点续传,对象存储迁移性能最优。

  2. mc mirror原生对象增量同步,比对 etag,只传变更对象。

  3. 多线程并发,支持桶之间直接迁移(不走本地中转),桶‑桶复制速度极高。

缺点

  1. 不能做普通 SSH/SFTP 文件服务器传输,只操作 S3 对象存储。

  2. 处理本地文件系统可以,但性能不如 rsync/rclone。

适合:MinIO 集群之间迁移,S3 桶备份、对象存储定时镜像。

bash

# mc桶间镜像,不走本地
mc mirror source-bucket dest-bucket

选型建议(直接照场景选)

  1. Linux 服务器之间文件系统备份、增量同步:优先 rsync

  2. SFTP 服务器大批量文件,要并发 + 断点续传:优先 lftp;也可以 rclone sftp 远程。

  3. 对象存储(MinIO/S3)桶到桶迁移、备份:优先 mc

  4. 异构存储互传:本地、S3、SFTP、OSS 混合迁移:优先 rclone

  5. ❌ 不推荐 scp/sftp 做批量自动化迁移,只适合临时手动拷贝。

补充关键特性对比(你关注的:批量并发、断点续传、MD5 校验、定时后台)

  1. 大文件断点续传

    • lftp(pget)、rclone、mc ✔

    • rsync:中断后重新比对,不是分片断点

    • sftp:很差

  2. MD5 完整性校验

    • rsync:--checksum

    • lftp:内置 md5 命令

    • rclone:--checksum强制哈希比对

    • mc:S3 ETag 天然校验

  3. 定时任务:全部都可以接入 Linux cron;rclone 有 rcd、lftp 支持内置后台;mc 支持 daemon。

  4. 并发

    • rsync:只能多进程;

    • lftp/rclone/mc:单进程内部多线程并发。

常见踩坑提醒

  1. rsync 单线程,百万小文件迁移会很慢,需要拆分多任务并行。

  2. rclone 使用 sftp 后端并发很大的时候,服务端 sshd 要调大 MaxSessions、MaxStartups 参数,否则连接被拒绝。

  3. mc 做桶间复制,源端和目的端都要配置 mc alias,数据不走本机网卡,直接服务端之间流转,性能极高。

  4. lftp mirror 默认不会删除目标多余文件,需要加--delete