收起左侧

备份功能的建议

2
回复
358
查看
[ 复制链接 ]

5

主题

9

回帖

0

牛值

江湖小虾

2024-11-9 23:07:04 显示全部楼层 阅读模式

用了一下备份功能,备份我的docker 零碎文件上传巨慢。

希望能增加压缩后上传功能 。并且支持用户选择备份多少份

比如我的docker配置我希望压缩备份 三个月 大概90份

image.png最后附上自己在用的webdav备份代码

!/bin/bash

定义WebDAV相关变量

WEBDAV_URL="https://xxxx.xxxx.xxxx/dav/阿里云盘/服务器备份/华为云新加坡/" WEBDAV_USER="root" WEBDAV_PASSWORD="xxxxx"

动态生成备份文件名,包含当前日期和时间

BACKUPNAME="root-$(date +%Y-%m-%d%H-%M-%S).tar.gz" BACKUP_PATH="/tmp/$BACKUP_NAME"

压缩指定目录

tar -czf "$BACKUP_PATH" "/root"

上传到WebDAV的对应目录

curl -T "$BACKUP_PATH" -u $WEBDAV_USER:$WEBDAV_PASSWORD ${WEBDAV_URL}"root/"

清理本地备份文件

rm "$BACKUP_PATH"

删除超过10个的旧备份

files_to_delete=$(curl -s -X PROPFIND -u "$WEBDAV_USER:$WEBDAV_PASSWORD" ${WEBDAVURL}"root/" | grep -oP "(?[=d:href<)[^<]+" | sed 's/%/\x/g' | xargs -I{} basename {} | grep -P '^root-\d{4}-\d{2}-\d{2}[0-9]{2}-[0-9]{2}-[0-9]{2}.tar.gz$' | sort -r | tail -n +31)](=%3CD:href)

if [ ! -z "$files_to_delete" ]; then echo "$files_to_delete" | while read file_to_delete; do if [ ! -z "$file_to_delete" ]; then echo "Deleting: ${file_to_delete}" curl -s -X DELETE -u "$WEBDAV_USER:$WEBDAV_PASSWORD" ${WEBDAV_URL}"root/${file_to_delete}" fi done fi

收藏
送赞 1
分享

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

x

6

主题

5800

回帖

0

牛值

管理员

2024-11-11 12:09:54 显示全部楼层
收到,这个需求我们评估一下 感谢
主要是docker这类东西 备份用增量的话 损坏就全坏了 根本没得跑 类似于db这种数据库,如果已经出现错误,并且上传到备份了。就裂开了  详情 回复
2024-11-12 18:16

5

主题

9

回帖

0

牛值

江湖小虾

2024-11-12 18:16:20 楼主 显示全部楼层
主要是docker这类东西 备份用增量的话 损坏就全坏了 根本没得跑
类似于db这种数据库,如果已经出现错误,并且上传到备份了。就裂开了
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则