1 min read

S3cmd 工具使用笔记

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