在开始备份前,需确认以下信息:
localhost:9000)、访问密钥(Access Key)、秘密密钥(Secret Key);/data,可通过/etc/minio/minio.conf确认);/backup/minio)。MinIO自带的mc工具支持增量备份和多存储目标同步,是最灵活的备份方式。
wget http://dl.min.io/client/mc/release/linux-amd64/mc -P /usr/local/bin/
chmod +x /usr/local/bin/mc
your_alias、<Minio_IP>、<Access_Key>、<Secret_Key>为实际值:mc config host add your_alias http://<Minio_IP>:9000 <Access_Key> <Secret_Key>
mybucket)到本地目录:mc cp -r your_alias/mybucket /path/to/backup/
mc ls your_alias/ | grep "^\S" | while read bucket; do
    mc cp -r "your_alias/${bucket%?}" "/path/to/backup/${bucket%?}"
done
mc mirror命令实现增量备份(仅同步变化部分),并自动覆盖目标端文件:mc mirror --remove --overwrite your_alias/mybucket /path/to/backup/mybucket
/usr/local/bin/backup_minio_mc.sh),赋予执行权限后,通过crontab设置定时任务(如每天凌晨2点执行):# 编辑crontab
crontab -e
# 添加以下内容
0 2 * * * /usr/local/bin/backup_minio_mc.sh >> /var/log/minio_mc_backup.log 2>&1
若MinIO数据存储在本地目录(如/data),rsync是高效的增量备份工具,支持保留文件权限和删除目标端多余文件。
sudo yum install -y rsync
rsync -avz --delete /data/ /backup/minio/
参数说明:
-a:归档模式(保留权限、时间戳等);-v:显示详细过程;--delete:删除目标端不存在于源端的文件(确保一致性)。crontab(如每天凌晨3点执行):0 3 * * * rsync -avz --delete /data/ /backup/minio/ >> /var/log/minio_rsync_backup.log 2>&1
若需创建完整的离线备份(如迁移数据),可使用tar命令打包MinIO数据目录。
sudo systemctl stop minio
sudo tar -czvf /backup/minio_backup_$(date +%Y%m%d).tar.gz /data/
sudo systemctl start minio
/usr/local/bin/backup_minio_tar.sh),通过crontab设置定时任务(如每周日凌晨4点执行)。tar方法)或确保集群无写入(针对mc/rsync方法);chmod -R 700 /backup/minio);Access Key、Secret Key)避免硬编码在脚本中,可使用环境变量或加密存储;/var/log/minio目录下的日志文件监控备份过程,及时排查错误。