脱离面板后,有一件事就是备份没有那么方便了。
不过用宝塔备份也经常出错。其实自己写一个脚本定时备份并不是什么复杂的事情。
用GPT写了一个一键备份的脚本
#!/bin/bash
# 配置MinIO连接信息
MINIO_ACCESS_KEY="YOUR_MINIO_ACCESS_KEY"
MINIO_SECRET_KEY="YOUR_MINIO_SECRET_KEY"
MINIO_ENDPOINT="https://YOUR_MINIO_SERVER_ENDPOINT:9000"
MINIO_BUCKET="YOUR_MINIO_BUCKET_NAME"
# 要备份的本地目录
SOURCE_DIRECTORY="/var/www/www.nodeloc.com"
# 获取当前日期和时间作为时间戳
TIMESTAMP=$(date +"%Y-%m-%d_%H-%M-%S")
# 压缩文件的名称和路径(包括时间戳)
BACKUP_FILE="/tmp/www.nodeloc.com_backup_$TIMESTAMP.tar.gz"
# 打包目录
echo "Creating tar archive of $SOURCE_DIRECTORY..."
tar -czf "$BACKUP_FILE" -C "$(dirname "$SOURCE_DIRECTORY")" "$(basename "$SOURCE_DIRECTORY")"
# 使用MinIO客户端上传备份文件
echo "Uploading backup file to MinIO bucket..."
mc alias set minio "$MINIO_ENDPOINT" "$MINIO_ACCESS_KEY" "$MINIO_SECRET_KEY" --api S3v4
mc cp "$BACKUP_FILE" "minio/$MINIO_BUCKET/"
# 删除临时备份文件
echo "Cleaning up..."
rm "$BACKUP_FILE"
echo "Backup completed successfully."
可以根据需求修改一下在Minio中的目录位置。
将代码保存为 backup.sh
,然后使用 bash backup.sh
执行脚本即可。
执行结果如下
root@nl-ols:/home/scripts# bash backup.sh
Creating tar archive of /var/www/www.nodeloc.com...
Uploading backup file to MinIO bucket...
Added `minio` successfully.
...24-03-20_09-37-50.tar.gz: 86.16 MiB / 86.16 MiB ┃▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓┃ 10.83 MiB/s 7sCleaning up...
Backup completed successfully.
可以看到,已经正常备份到远程Minio中了。
需要自动执行的,将命令放到 Crontab 中,间隔一定的时间运行即可。
发表回复