S4cmd:不到 1500 行的轻量命令行工具,把 S3 传输速度拉满 2 倍
S4cmd不到 1500 行的轻量命令行工具把 S3 传输速度拉满 2 倍【免费下载链接】s4cmdSuper S3 command line tool项目地址: https://gitcode.com/gh_mirrors/s4/s4cmd凌晨一点一份 50GB 的视频正在上传 S3进度卡在 99%刷新半天纹丝不动脚本一直在轮询整个流程跟着卡住。S4cmd S3 命令行工具就是为这种场景而生作为 s3cmd 的替代它把并行塞进了每条命令。为什么从 s3cmd 切过来s3cmd 是单线程的批量上传下载时一条连接喂不饱带宽S4cmd 是多线程多连接每条命令都并行跑上传下载速度普遍能拿 2 倍提升。它用纯 Python 写成全部代码不到 1500 行底座从旧版 boto 迁到了 Boto3后端更稳也更新。常见用法和 s3cmd 保持一致切过来几乎没有学习成本。三步跑起来S4cmd 安装教程第一步装它。Python 3.6 以上即可一行搞定pip install s4cmd第二步给凭证。三种情况配过 s3cmd 的话它自动读~/.s3cfg没有就导出S3_ACCESS_KEY和S3_SECRET_KEY两个环境变量跑在 EC2 上且实例挂了 IAM 角色则自动使用什么都不用配。第三步敲第一条命令。下面四条覆盖了日常用法s4cmd ls s3://my-bucket s4cmd put ./report.csv s3://my-bucket/report.csv s4cmd get s3://my-bucket/report.csv ./ s4cmd sync ./logs s3://my-bucket/logs --recursive --force --sync-check它干的是ls列出桶内容put上传本地文件get拉取文件sync同步整个目录。两个实战场景一个管备份一个管迁移定时备份场景S4cmd 多线程同步每天凌晨两点把服务器上的关键目录同步到 S3。s4cmd sync /data/important s3://my-bucket/backup --recursive --force --sync-check --delete-removed别被多线程吓到默认就开着md5 比对会跳过没变的文件--delete-removed顺带清掉云端多余文件两边永远保持一致。小文件批量迁移实战S3 文件批量上传几万个小日志要搬进桶里单连接的工具只能干瞪眼。s4cmd put /var/log/app s3://my-bucket/logs --recursive --force多连接并行传同样的文件量省下的时间是成倍的。能接哪些云--endpoint-url 切换端点除了 AWS它还能通过--endpoint-url指向 DreamHost、Cloudian 这类 S3 协议兼容服务。底座是 Boto3往其他 AWS 服务上做集成扩展也很顺手s3://和s3n://两种前缀都认。总结S4cmd轻量、多线程、兼容 s3cmd脚本里只要有 S3 文件批量上传或同步场景就值得换它。源码就一个文件s4cmd.py想读直接拉下来git clone https://gitcode.com/gh_mirrors/s4/s4cmd【免费下载链接】s4cmdSuper S3 command line tool项目地址: https://gitcode.com/gh_mirrors/s4/s4cmd创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考