Minio自动备份
安装Minio客户端:
# 创建客户端安装目录
mkdir -p /home/minio/client
# 将二进制文件mc上传到client目录下,并对其添加可执行权限
cd /home/minio/client
chmod +x mc
到此Minio客户端就安装好了。
2、创建用于自动备份的bash脚本文件
# 切换到如下目录(可以是其他任意目录)
cd /home/minio/client
# 创建任意名称的bash脚本文件并开始编辑它
vim minio_backup.sh
3、将如下内容复制到minio_backup.sh文件中
#!/bin/bash
# 定义备份目录
BACKUP_DIR=/data/backup/minio
# 定义备份文件名
BACKUP_FILE=minio_backup_$(date +%Y%m%d%H%M%S).tar.gz
# 查看已设置的minio服务器别名
# /home/minio/client/mc alias list
# 给Minio服务【用户名:yourusername,密码:youruserpassword】设置一个别名minio_c_x
/home/minio/client/mc alias set minio_c_x http://22.22.22.220:9000 yourusername youruserpassword
# 执行备份命令,将数据备份至$BACKUP_DIR/tmp表示的临时目录下
/home/minio/client/mc cp --recursive minio_c_x $BACKUP_DIR/tmp
# 压缩备份文件
cd $BACKUP_DIR/tmp
tar -czvf $BACKUP_DIR/$BACKUP_FILE *
# 删除临时目录
rm -rf $BACKUP_DIR/tmp
# 删除7天前的备份文件,避免占用过多磁盘资源
find $BACKUP_DIR -type f -name "minio_backup_*" -mtime +7 -exec rm {} \;
4、使用crontab命令设置周期性执行脚本的任务
# 使用crontab -e命令编辑当前用户的计时器设置
crontab -e
# 若添加以下内容,表示每天21:30执行位于"/home/minio/client/"目录下的minio_backup.sh脚本
30 21 * * * /bin/bash /home/minio/client/minio_backup.sh
# 若添加以下内容,表示每隔25分钟执行minio_backup.sh脚本
*/25 * * * * /bin/bash /home/minio/client/minio_backup.sh
小提示:
(a)有关定时任务的时间设置若有不懂的,可自行查找资料学习Linux的cron表达式相关知识。
5、使用自动备份的文件恢复数据
# 进入备份目录,示例:
cd /data/backup/minio
# 将备份文件xxx.tar.gz解压至指定目录,示例:
tar -xzvf /data/backup/minio/minio_backup_20230515154001.tar.gz -C /data/aa/bb
# 从备份文件恢复数据到Minio服务器的数据目录,示例:
/home/minio/client/mc cp --recursive /data/aa/bb minio_c_x
评论区