覆盖本地↔远程、对象存储、大文件、断点续传、并发、校验、定时、脚本自动化,从协议、性能、断点、校验、适用场景、优缺点做完整对比。
说明:
mc:MinIO 官方客户端,兼容 S3 对象存储
lftp:FTP/FTPS/SFTP 批量传输工具
rclone:万能云存储同步工具,支持 S3、SFTP、WebDAV、本地、阿里云 OSS 等
rsync:传统 Linux 增量同步神器
sftp/scp:OpenSSH 自带,scp 已经不推荐,优先 sftp
核心维度对比表
逐个工具优劣详解
1. rsync
优点
增量同步行业标杆:只传变化部分,不需要重传整个文件;支持按 checksum 校验而不是只看时间大小。
SSH 加密,几乎所有 Linux 预装,无需额外安装。
支持删除源端、软链接、权限属主保留,非常适合服务器备份。
缺点
单线程,大量小文件或者大文件单实例跑慢;只能开多个进程实现并发。
不支持 S3 对象存储,只能文件系统。
断点续传只针对已经部分传到目标的文件,中断后重新比对,不是分片断点。
适合:服务器之间 Linux 文件系统备份、定时增量备份;不适合对象存储、跨异构云。
bash
# 示例
rsync -avz --checksum /data user@host:/backup
2. sftp /scp(OpenSSH 自带)
优点
系统自带,零安装;SSH 加密,安全。
缺点
单线程,不支持并发;没有原生断点续传,大文件中断要重来。
没有内置哈希校验,传输完要手动 md5sum 比对。
scp 在新版 openssh 已经不推荐,建议用 sftp。
适合:少量文件临时拷贝,不适合批量任务、脚本化大规模迁移。
3. lftp
主打:SFTP/FTP 批量镜像,多线程下载上传
优点
pget -c真正断点续传,大文件中断可以续传。mirror命令实现目录镜像;支持多线程,pget -n 8并发分片。内置后台任务、重试,脚本友好,支持 ftp、ftps、sftp。
缺点
不支持 S3 对象存储,只支持文件协议。
没有 rsync 那种智能增量,默认全量比对,依赖文件大小时间。
配置参数多,脚本容易踩坑。
适合:基于 SFTP 的大批量小文件迁移,老旧 FTP 服务器数据迁移。
bash
# lftp sftp示例,8线程上传,断点
lftp sftp://user:pass@host -e "mirror -c --parallel=8 /localdir /remotedir; exit"
4. rclone【全能选手】
优点
协议超级全:SFTP、S3、MinIO、OSS、COS、WebDAV、本地磁盘,异构存储互传首选。
支持并发、断点续传、hash 校验、mirror/sync 增量同步,删除冗余文件。
支持限速、带宽控制、重试、日志,脚本和 cron 友好;可运行 rcd 后台服务。
即使 SFTP 后端也能做多线程并发,弥补原生 sftp 单线程痛点。
缺点
是第三方工具,需要安装;配置 remote 需要配置文件。
S3 场景性能略低于原生 mc 客户端。
大量百万级小文件时内存占用会上升。
适用场景:异构存储迁移,本地 ↔ 对象存储 ↔ sftp 服务器之间互相同步。
bash
# rclone示例,并发8,校验hash
rclone sync /local s3:bucket/path --transfers 8 --checksum
5. mc(minio‑client)
只面向 S3 兼容对象存储(MinIO、AWS S3、阿里云 OSS 兼容模式)
优点
S3 原生 API,分片上传断点续传,对象存储迁移性能最优。
mc mirror原生对象增量同步,比对 etag,只传变更对象。多线程并发,支持桶之间直接迁移(不走本地中转),桶‑桶复制速度极高。
缺点
不能做普通 SSH/SFTP 文件服务器传输,只操作 S3 对象存储。
处理本地文件系统可以,但性能不如 rsync/rclone。
适合:MinIO 集群之间迁移,S3 桶备份、对象存储定时镜像。
bash
# mc桶间镜像,不走本地
mc mirror source-bucket dest-bucket
选型建议(直接照场景选)
✅ Linux 服务器之间文件系统备份、增量同步:优先 rsync
✅ SFTP 服务器大批量文件,要并发 + 断点续传:优先 lftp;也可以 rclone sftp 远程。
✅ 对象存储(MinIO/S3)桶到桶迁移、备份:优先 mc
✅ 异构存储互传:本地、S3、SFTP、OSS 混合迁移:优先 rclone
❌ 不推荐 scp/sftp 做批量自动化迁移,只适合临时手动拷贝。
补充关键特性对比(你关注的:批量并发、断点续传、MD5 校验、定时后台)
大文件断点续传
lftp(pget)、rclone、mc ✔
rsync:中断后重新比对,不是分片断点
sftp:很差
MD5 完整性校验
rsync:
--checksumlftp:内置 md5 命令
rclone:
--checksum强制哈希比对mc:S3 ETag 天然校验
定时任务:全部都可以接入 Linux cron;rclone 有 rcd、lftp 支持内置后台;mc 支持 daemon。
并发
rsync:只能多进程;
lftp/rclone/mc:单进程内部多线程并发。
常见踩坑提醒
rsync 单线程,百万小文件迁移会很慢,需要拆分多任务并行。
rclone 使用 sftp 后端并发很大的时候,服务端 sshd 要调大 MaxSessions、MaxStartups 参数,否则连接被拒绝。
mc 做桶间复制,源端和目的端都要配置 mc alias,数据不走本机网卡,直接服务端之间流转,性能极高。
lftp mirror 默认不会删除目标多余文件,需要加
--delete。