MinIO自带的mc(MinIO Client)是管理对象存储的核心命令行工具,支持数据复制、同步等功能,是最常用的备份方式。
yum安装mc:sudo yum install minio-client -y。mc alias set命令配置MinIO服务器别名(替换为实际地址和密钥):mc alias set myminio http://localhost:9000 ACCESS_KEY SECRET_KEY
mc cp -r递归复制Bucket数据到本地目录(如/backup):mc cp -r myminio/mybucket /backup/
mc ls列出所有Bucket,循环复制到对应目录:mc ls myminio/localhost:9000 | grep "^\S" | while read bucket; do
mc cp -r "myminio/localhost:9000/$bucket" "/backup/$bucket"
done
backup_minio.sh)整合上述命令,使用crontab设置定时任务(如每天凌晨2点执行):# 编辑crontab
crontab -e
# 添加以下行
0 2 * * * /path/to/backup_minio.sh
rsync是高效的文件同步工具,支持增量备份(仅传输变化的文件),适合大规模数据场景。
yum安装:sudo yum install rsync -y。sudo systemctl stop minio。rsync -avz --delete同步数据目录(默认路径为/data,替换为实际路径)到备份目录:sudo rsync -avz --delete /data/ /backup/minio_$(date +%Y%m%d)/
启动MinIO服务:sudo systemctl start minio。rsync_minio.sh),并通过crontab设置定时任务。若对数据一致性要求极高(如灾难恢复),可停止MinIO服务后备份数据目录,确保无新数据写入。
sudo systemctl stop minio
tar命令打包数据目录(如/data),生成压缩文件:sudo tar -czvf /backup/minio_full_$(date +%Y%m%d).tar.gz -C /data .
sudo systemctl start minio
除数据外,需备份MinIO的配置文件和SSL证书,确保恢复时能快速重建实例。
/etc/minio/minio.conf或/etc/minio/config.json,使用cp命令复制:sudo cp /etc/minio/minio.conf /backup/minio_config.conf
/etc/pki/tls/certs/minio.crt和/etc/pki/tls/private/minio.key):sudo cp /etc/pki/tls/certs/minio.crt /backup/minio_cert.crt
sudo cp /etc/pki/tls/private/minio.key /backup/minio_key.key
若MinIO通过Docker容器运行,可通过备份数据卷实现数据保护。
docker stop minio-container
docker run命令将数据卷(如/data)打包为tar文件:docker run --rm -v minio-data:/data -v /backup:/backup busybox tar czvf /backup/minio_docker_$(date +%Y%m%d).tar.gz -C /data .
docker start minio-container
mc、rsync)可能存在数据写入冲突,建议在业务低峰期执行;离线备份(停止服务)可确保绝对一致,但会影响服务可用性。cron日志或mc命令的输出监控备份任务,及时处理失败情况。