求问:有没有定期自动备份Docker数据的方案

现状

目前使用Docker部署了一堆服务大概50多个,稳定运行1年+

目前方案

使用 Kopia + Alist 的 WebDav 备份运行文件,数据库文件未备份。

备份内容

  • 映射到宿主机的Docker应用运行文件
  • SQLite数据库文件(可等同于文件备份)
  • Redis数据文件(可等同于文件备份)
  • MySQL数据库(目前未备份)
  • Posgress数据库(目前未备份)
  • MongoDB数据库(目前未备份)

目标

现寻求方案能够更加优雅的完成备份

  • 支持数据备份
    • 文件备份
    • Mysql,PgSQL备份(不停机)
  • 支持定期备份
  • 支持多备份目标
  • 能够利用Alist的Webdav协议备份到多种云盘服务
  • [可选] 能用Docker部署
  • [可选] 有Web管理界面

在这里先谢各位佬友了

9 Likes

蹲一个方案

蹲方案
++

目前我的Docker服务都是跑在1panel面板上的,可以通过计划任务设置很多备份方案,不过目前我只备份了数据库。


可以一键设置的指令如下:

备份账号支持设置:S3存储(大厂的基本都包含)、OneDrive、SFTP、WebDav,可一键设置多个备份目的地

1 Like

我也是用的 1panel,不用 1panel 的把挂载的存储卷和 compose 文件备份一下就好了,恢复起来很快

1 Like

谢谢你的建议
1panel对我而言还是有限制,我的Docker Comopose没用1Panel管理,应用数据(存储卷)备份和Compose文件备份应该没问题;数据库在Docker的网络里面,首先网络上需要映射端口,其次备份文件总归没有备份通过调用命令生成备份文件好,会有点儿限制。

我仔细看了1Panel的功能,如果Compose没用1Panel管理好像就不太好备份,不过在1Panel里面跑定时任务的思路还是可以的。

蹲一个不用1panel的方案

同蹲一个方案

我以前也找过备份方案,没看到太好的,就继续用 1panel 的了,1panel 还有个快照功能,可以备份包括数据库等所有 1panel 管理的内容,希望能找到更好的项目

1 Like

这个挺好用的

1 Like

你则要求可以让 ai 帮你写写看看

1 Like

谢谢分享,感觉这个有很大可能,需要好好研究下。

待会儿试试,看AI能不能推荐靠谱的方案

修改docker的数据目录,然后mysql这些采用卷的方式来持久化数据,然后就只需要通过rsync定时同步这些数据即可

1 Like

感谢回复,但是这种方式并不能很好的保护数据。
备份是可以分为两个阶段的:

  1. 将数据备份成文件或者其他载体,并妥善保存。
  2. 能够将备份文件完整恢复为备份时的服务

您提供的方法仅仅能够完成第一步的目标,第二步是会有出问题的风险。

可以参考下面的资料

你都用kopia了,应该也自带policy修改定时backup吧。关于数据方面,你可以直接backup docker的volume吧

kopia和连接云盘的Alist Webdav服务有兼容问题,产生大量临时文件,而且kopia不支持多仓库的备份。

我目前是kopia到s3对象存储,选择kopia主要是自带增量去重还有版本控制。至于你说的多仓库是啥意思,意思是你一台机子想同时备份到几个repo吗?

docker启动的服务都采用docker-compose的方式部署,然后只要灾备端有对应的yaml文件和数据文件,重新恢复启动不是很轻松么?