Linux环境Minio数据文件的自动备份

1、请先确保服务器上已安装Minio客户端(已安装可忽略)

下载Linux版客户端文件
Linux版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

猜你喜欢

转载自blog.csdn.net/HLXTU/article/details/131015728