执行 discourse backup 时,会生成一个不包含上传文件的 sql.gz 文件。通过 UI 创建备份时,有一个选项可以将上传文件一并备份。请问是否可以通过 CLI 进行包含上传文件的备份?
目前 CLI 中暂无启用该功能的选项,但在启用 backup_with_uploads 站点设置后,应包含上传内容。
我启用了以下设置:

但每次执行 discourse backup 时,生成的文件都是 sql.gz。
您的上传内容是否存储在 S3 上?
不,我将其存储在本地。
奇怪。你在设置站点时是否遵循了 discourse/docs/INSTALL-cloud.md at main · discourse/discourse · GitHub 中的步骤?
不,我的环境相当定制,因为我在 Kubernetes 上运行 Discourse。不过,我的 Discourse 镜像(web 和 data)是使用 launcher 脚本生成的,未做任何修改。
嗯,您可能缺少某些环境变量,或者工作目录不正确,诸如此类。我们曾收到来自 Bitnami 安装用户关于类似问题的报告。很遗憾,我们无法就此为您提供帮助,您需要自行排查解决。
一种可行的方法是先进行标准安装,使用 rsync 同步镜像(网上有迁移到新服务器的指南),然后恢复备份。之后你可以在那里再进行一次备份。
如果你有预算,我或许可以协助你当前的设置:Redirecting…
我的猜测是,你没有将备份映射到持久化存储空间。因此,我认为你需要做的是:在 Pod 内部运行 discourse backup,然后将该 Pod 内的 /shared/backups/default 目录下的备份文件复制到 Pod 外部。我相当确定,在我使用的 GCP k8s 环境中就是这样操作的(由于 Google 的限制,在那里无法使用存储桶进行备份)。
我确实在持久卷上保留了备份。我使用的是 AKS,备份存储在 Azure Files 上。
我重置了部署(强制启动新的 Pod),现在备份变成了“完整”的 tar.gz 格式。老实说,我不清楚发生了什么变化。