S3cmd 工具使用笔记

简介
S3cmd是一个针对S3对象存储的命令行工具或客户端,支持Linux、MAC OS、Windows。本文纯为浅尝辄止性质的笔记。
资源链接
常规使用
安装
- RHEL/CentOS
# yum -y install s3cmd
- Ubuntu/Debian
# apt install s3cmd
配置使用
以MinIO为例
# cat >~/.s3cfg<<EOF
host_base = 192.168.80.36:9000
host_bucket = 192.168.80.36:9000
bucket_location = cn-gz-1
use_https = False
access_key = aKaH7gQ4II097B4T6DjAUDA4BX
secret_key = sKbR3q5iDoQgF7gyPYRFhzNMY3vY6ZFMpH
# Enable S3 v4 signature APIs
signature_v2 = False
EOF
- 测试配置是否正确
# s3cmd ls
2025-03-28 14:51 s3://zhang3
2025-03-31 10:24 s3://test
- 创建一个新bucket
# s3cmd mb s3://vqiu
- 上传单文件文件
# s3cmd put /tmp/1.sh s3://vqiu
upload: '/tmp/1.sh' -> 's3://vqiu/1.sh' [1 of 1]
353 of 353 100% in 0s 38.43 KB/s done
- 上传目录
# s3cmd put --recursive /data/script/* s3://vqiu
- 下载文件
# s3cmd get s3://vqiu/1.sh
download: 's3://vqiu/1.sh' -> './1.sh' [1 of 1]
353 of 353 100% in 0s 95.18 KB/s done
- 利用管道将tar中的压缩直接存储到S3
# tar -cf - /data/mysql/data | pv | s3cmd put - s3://vqiu/backup/$(date +%F).tar.gz
或
# tar -cf - /data/mysql/data | zstd | pv | s3cmd put - s3://vqiu/backup/$(date +%F).tar.zst
// PVE VM备份
# vzdump <VMID> --compress zstd --stdout | pv | s3cmd put - s3://vqiu/proxmox-ve/backup/<VMID>/$(date +%F).zst