CentOS7 自动打包指定目录并上传至 MinIO 服务器
一. 编写打包和上传脚本
#!/bin/bash
# 要备份的路径
directory="/home/user/mysql"
# Minio 文件服务器地址
upload_url="http://127.0.0.1:9000"
# Minio Buckets 名称
buckets_name="backup"
# 要上传到fastdfs服务器的路径参数
path="/mysql"
# 获取当前日期
current_date=$(date +"%Y-%m-%d")
# 文件上传上传Path参数
upload_path="${path}/${current_date}"
# 遍历目录下的子目录
for subdir in "$directory"/*; do
if [[ -d "$subdir" ]]; then # 判断是否为目录
# 获取文件夹名称
folder_name=$(basename "$subdir")
# 压缩文件名
archive_name="${folder_name}_${current_date}.tar.gz"
# 压缩子目录
tar -czvf "$archive_name" -C "$directory" "$folder_name"
# 使用curl上传文件
curl -X PUT -T "${archive_name}" "${upload_url}/${buckets_name}${upload_path}/${archive_name}"
# 删除压缩文件
rm "$archive_name"
fi
done
二. 配置自动执行
# 使用 crontab 实现定时执行
crontab -e
# 0 3 * * * 每天三点执行
0 3 * * * /home/user/mysql/back.sh
评论已关闭