今回は、MinIOのデータを Ubuntu のPCのローカルにバックアップをとってみます。
mc(MinIO Client)を使用します。
mc(MinIO Client)のインストール
バックアップをとるPCにて
$ cd
$ wget https://dl.min.io/client/mc/release/linux-amd64/mc
$ chmod +x mc
$ sudo mv mc /usr/local/bin/
$ mc --version
mc version RELEASE.2024-10-29T15-34-59Z (commit-id=9f4659884dd45dca726ba38ee6bfacb2bf776eb8)
Runtime: go1.22.7 linux/amd64
Copyright (c) 2015-2024 MinIO, Inc.
License GNU AGPLv3 <https://www.gnu.org/licenses/agpl-3.0.html>
インストール完了
mc の設定
<AccessKey> <SecretKey>
はご自身のものに書き換えてください。
$ mc alias set myminio https://minio.monolab.tokyo <AccessKey> <SecretKey>
$ mc alias list
gcs
URL : https://storage.googleapis.com
AccessKey : YOUR-ACCESS-KEY-HERE
SecretKey : YOUR-SECRET-KEY-HERE
API : S3v2
Path : dns
Src : /home/eden-01/.mc/config.json
local
URL : http://localhost:9000
AccessKey :
SecretKey :
API :
Path : auto
Src : /home/eden-01/.mc/config.json
myminio
URL : https://minio.monolab.tokyo
AccessKey : XXXX
SecretKey : XXXX
API : s3v4
Path : auto
Src : /home/eden-01/.mc/config.json
play
URL : https://play.min.io
AccessKey : XXXX
SecretKey : XXXX
API : S3v4
Path : auto
Src : /home/eden-01/.mc/config.json
s3
URL : https://s3.amazonaws.com
AccessKey : YOUR-ACCESS-KEY-HERE
SecretKey : YOUR-SECRET-KEY-HERE
API : S3v4
Path : dns
Src : /home/eden-01/.mc/config.json
バケットの確認
$ mc ls myminio
[2024-08-05 14:19:26 JST] 0B dify/
[2024-09-06 14:32:03 JST] 0B gourmet/
[2024-09-10 15:41:39 JST] 0B monolab/
バックアップ実行
今回は、この monolab というバケットをローカルの、~/minio_backups
にバックアップします。
$ mc mirror myminio/monolab ~/minio_backups/monolab
...65-48ad-a6e2-69bdd6d7480d.webp: 390.51 MiB / 390.51 MiB ┃▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓┃ 10.12 MiB/s 38s
進捗が表示さながら進み、完了します。
バックアップを crontab に登録
$ crontab -e
0 1 * * * /usr/local/bin/mc mirror myminio/monolab ~/minio_backups/monolab >> ~/minio_backups/minio-backup.log 2>&1
完了🍺
バックアップからリストアする
もちろん、このバックアップからリストアすることもできます。
また実行するときに別途ブログで書きます。