Automatic backup of Minio data files in Linux environment

1. Please make sure that the Minio client has been installed on the server (installed can be ignored)

Download the client file for Linux
Linux version Minio client file download
and install the Minio client:

# 创建客户端安装目录
mkdir -p /home/minio/client
# 将二进制文件mc上传到client目录下,并对其添加可执行权限
cd /home/minio/client
chmod +x mc

At this point, the Minio client is installed.

2. Create a bash script file for automatic backup

# 切换到如下目录(可以是其他任意目录)
cd /home/minio/client
# 创建任意名称的bash脚本文件并开始编辑它
vim minio_backup.sh

3. Copy the following content to the minio_backup.sh file

#!/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. Use the crontab command to set the task of periodically executing the script

# 使用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

Tips:
(a) If you don’t understand the time settings of scheduled tasks, you can find information to learn about Linux’s cron expressions.

5. Recover data using automatically backed up files

# 进入备份目录,示例:
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

Guess you like

Origin blog.csdn.net/HLXTU/article/details/131015728