1. 停止MinIO服务(可选但推荐)
在进行数据备份前,停止MinIO服务可避免数据写入导致备份不一致。执行以下命令:
sudo systemctl stop minio
备份完成后,记得重新启动服务:
sudo systemctl start minio
2. 使用MinIO客户端(mc)工具备份
MinIO自带的mc工具是备份数据的常用方式,支持全量/增量备份、同步及监控。
wget http://dl.min.io/client/mc/release/linux-amd64/mc -P /usr/local/bin/
chmod +x /usr/local/bin/mc
配置MinIO客户端连接信息(替换为你的MinIO服务器地址、Access Key和Secret Key):mc alias set myminio http://<MinIO_IP>:9000 <ACCESS_KEY> <SECRET_KEY>
mc cp -r myminio/mybucket /path/to/backup/location
mc ls myminio列出所有桶,再循环备份):mc ls myminio | grep "^\S" | awk '{print $1}' | while read bucket; do
mc cp -r "myminio/$bucket" "/path/to/backup/location/$bucket"
done
mc sync命令确保源与目标数据一致,仅传输变化的部分:mc sync myminio/mybucket /path/to/backup/location
backup_mc.sh),赋予执行权限并通过crontab设置定时任务(例如每天凌晨2点执行):chmod +x /path/to/backup_mc.sh
echo "0 2 * * * /path/to/backup_mc.sh" | sudo tee -a /var/spool/cron/root
3. 使用rsync进行文件同步备份
rsync是高效的文件同步工具,适合本地备份MinIO数据目录(默认路径为/opt/module/minio/data或/data)。
sudo yum install rsync -y
sudo tar -czvf /backup/minio_backup_$(date +%Y%m%d).tar.gz /opt/module/minio/data
sudo rsync -avz --delete /opt/module/minio/data/ /backup/minio_backup/
crontab,实现定期同步。4. 使用tar命令打包备份
tar命令可将MinIO数据目录打包成压缩文件,便于存储和传输。
sudo mkdir -p /backup/minio
sudo tar -czvf /backup/minio_backup_$(date +%Y%m%d).tar.gz /opt/module/minio/data
5. 备份配置文件与证书
除数据外,需备份MinIO的配置文件和SSL证书,确保恢复时能正常启动服务。
/etc/minio/minio.conf或/etc/minio/config.json,执行以下命令备份:sudo cp /etc/minio/minio.conf /backup/minio_config_backup.conf
sudo cp /etc/minio/config.json /backup/minio_config_backup.json
sudo cp /etc/pki/tls/certs/minio.crt /backup/minio_cert_backup.crt
sudo cp /etc/pki/tls/private/minio.key /backup/minio_key_backup.key
6. 定期备份策略
crontab设置定时任务(如每天凌晨2点执行备份脚本),避免人工遗漏。