蔚蓝触点 Azuretouch

Azuretouch
Touch your future

分布式对象存储 MinIO 的使用

MinIO Logo

上一篇,写的是如何部署 MinIO,以及通过浏览器管理对象存储。本篇主要讲的是,如何用 Python 使用 MinIO SDKs 来备份目录和数据库。

使用 MinIO 命令行操作

操作文档:https://docs.min.io/docs/minio-client-quickstart-guide.html

# 下载客户端
[root@test ~]# wget https://dl.min.io/client/mc/release/linux-amd64/mc
[root@test ~]# chmod +x mc
[root@test ~]# mv mc /usr/bin
[root@test ~]# mc --help
# 连接对象服务器
[root@test ~]# mc config host add minio http://docker:9000 access_key secret_key
Added `minio` successfully.
# 列出文件
[root@test ~]# mc ls minio

安装 MinIO SDKs

pip install minio

Python 的基本操作

# 初始化 MinIO 对象
from minio import Minio
from minio.error import ResponseError

minioClient = Minio('play.min.io',
                  access_key='YOUR ACCESS KEY',
                  secret_key='YOUR SECRET KEY',
                  secure=True)
# 调用make_bucket来创建一个存储桶。
try:
       minioClient.make_bucket("maylogs", location="us-east-1")
except BucketAlreadyOwnedByYou as err:
       pass
except BucketAlreadyExists as err:
       pass
except ResponseError as err:
       raise
else:
        try:
               minioClient.fput_object('maylogs', 'pumaserver_debug.log', '/tmp/pumaserver_debug.log')
        except ResponseError as err:
               print(err)

Python 自动备份脚本

pip/pip3 install minio
#python myminio.py site bucket_name backup_name /backup_path keep_newest_copies
python myminio.py site testbucket mywebsite /backup 5

参考文献

  1. MinIO Docs | Python Client快速入门指南
未经允许不得转载:蔚蓝触点 Azuretouch » 分布式对象存储 MinIO 的使用

评论 抢沙发

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址