1. 準備工作:安裝MinIO客戶端(mc)
在Linux系統上,首先需要安裝MinIO官方提供的命令行工具mc
(MinIO Client),用于管理MinIO對象存儲??梢酝ㄟ^以下命令快速安裝:
wget https://dl.min.io/client/mc/release/linux-amd64/mc
chmod +x mc
sudo mv mc /usr/local/bin/
安裝完成后,可通過mc --version
驗證是否安裝成功。
2. 配置MinIO客戶端連接
使用mc alias set
命令配置MinIO服務器的訪問信息,方便后續操作:
mc alias set myminio http://minio-server-ip:9000 ACCESS_KEY SECRET_KEY
myminio
:自定義的別名(用于后續命令中的服務器標識);http://minio-server-ip:9000
:MinIO服務器的地址(若為HTTPS需替換為https
);ACCESS_KEY
/SECRET_KEY
:MinIO創建的用戶憑證(需提前在MinIO控制臺生成)。3. 常用備份方法
mc cp
命令復制數據mc cp
是MinIO最基礎的備份命令,可將MinIO中的桶(Bucket)或對象(Object)復制到本地文件系統或其他存儲路徑。
mc cp -r myminio/source-bucket /path/to/backup/location
-r
參數表示遞歸復制,會將source-bucket
中的所有對象及子目錄復制到本地的/path/to/backup/location
目錄。mc ls
命令循環處理:mc ls myminio | grep "^\S" | awk '{print $1}' | while read bucket; do
mc cp -r "myminio/$bucket" "/path/to/backup/location/$bucket"
done
該腳本會列出myminio
中的所有桶,并逐個復制到本地備份目錄。mc mirror
命令同步數據mc mirror
用于雙向同步兩個存儲路徑(如MinIO桶與本地目錄),適合需要保持數據實時一致性的場景。它會復制源中新增或修改的對象,并刪除目標中源不存在的對象。
mc mirror myminio/source-bucket /path/to/backup/location
執行后,source-bucket
與本地目錄的數據將完全一致。
mc sync
命令增量同步mc sync
僅復制源中新增或修改的對象,不會刪除目標中的現有對象,適合定期增量備份。
mc sync myminio/source-bucket /path/to/backup/location
該命令會對比源與目標的數據差異,僅傳輸變化的部分,節省時間和帶寬。
4. 自動化備份:結合Cron定時任務
為避免手動執行備份,可通過Linux的cron
定時任務自動運行備份腳本。
/usr/local/bin/backup_minio.sh
):#!/bin/bash
# 配置MinIO客戶端
mc alias set myminio http://minio-server-ip:9000 ACCESS_KEY SECRET_KEY
# 定義備份目錄
BACKUP_DIR="/path/to/backup/location"
mkdir -p "$BACKUP_DIR"
# 備份所有桶
mc ls myminio | grep "^\S" | awk '{print $1}' | while read bucket; do
mc cp -r "myminio/$bucket" "$BACKUP_DIR/$bucket"
echo "$(date): Backup completed for bucket $bucket" >> /var/log/minio_backup.log
done
腳本會自動備份所有桶,并將執行日志記錄到/var/log/minio_backup.log
。chmod +x /usr/local/bin/backup_minio.sh
crontab -e
,添加以下行(每天凌晨2點執行備份):0 2 * * * /usr/local/bin/backup_minio.sh
保存后,Cron會自動按計劃執行備份。5. 高級備份:使用MinIO快照功能
MinIO支持創建存儲桶快照,這是一種更高效的備份方式,可快速恢復數據到指定時間點。
mc admin snapshot create myminio/source-bucket@snapshot-20250927
snapshot-20250927
為快照名稱(可自定義),創建后會生成該桶的只讀副本。mc admin snapshot restore myminio/source-bucket@snapshot-20250927
恢復后,source-bucket
將回到快照創建時的狀態。6. 注意事項
mc ls
查看備份目錄中的對象,或嘗試恢復部分數據)。