我已经从 Discourse 托管迁移到自托管,但论坛上的所有图片都丢失了。我发现得太晚了,迁移已经超过 30 天了。
当我发现时,我运行了以下代码,但它不起作用:
`
> ./launcher enter app
> rake posts:rebake
`
我联系了 Discourse 支持,但他们告诉我,由于迁移时间已超过 30 天,他们无法恢复备份。我该如何解决这个问题:
我已经从 Discourse 托管迁移到自托管,但论坛上的所有图片都丢失了。我发现得太晚了,迁移已经超过 30 天了。
当我发现时,我运行了以下代码,但它不起作用:
`
> ./launcher enter app
> rake posts:rebake
`
我联系了 Discourse 支持,但他们告诉我,由于迁移时间已超过 30 天,他们无法恢复备份。我该如何解决这个问题:
我不得不说,这里可能没有什么你能做的了。
如果你没有进行包含图片的完整备份,并且在你意识到主机已经清除自己的备份时已经过了很长一段时间,那么数据可能已经丢失了。
如果你不介意我问,是什么原因导致你一个月后才意识到你的图片不在备份中?网站停运了一个月吗?
不,网站一直在运行,只是我忙于其他工作。另外,我确实从 Discourse 管理面板进行了完整备份。
如果您的资产存储在远程存储(如 s3)上,那么它们将不包含在备份中。
还有一个 backup with uploads 设置,它会跳过上传。
备份文件有多大?
您可能在取消账户之前下载了备份,但其中不包含上传的文件。
您可以非常客气地再次询问他们是否可以暂时将上传的文件恢复到 S3。我之前也遇到过类似的情况,当时他们清理旧的 S3 存储桶,并且能够暂时将上传的文件恢复到 S3。
如果他们可以,您可以设法从 S3 下载这些图片,然后重新上传到您自己的 S3 存储桶,或者设法将其导入 discourse。这有点麻烦,但并非不可能。
这很有可能;最终完整备份的链接包含 S3 上传文件,但其他备份则不包含。
我找不到此账户之前的任何支持请求。请使用与您之前网站关联的电子邮件账户,向 @team 发送私信,并附上网站名称,我将仔细检查以确保上传的文件不再可用。
您不会注意到这一点,因为迁移后的网站会继续从 CDCK S3 加载图片,直到它们被删除,那时就太晚了。
我们还对上传内容启用了 S3 存储桶版本锁定,因此即使在它们被删除之后,我们仍然可以在一段时间内恢复它们。
我明白 S3 的工作原理,在服务器之间迁移网站时,这通常是一个巨大的优势。我指的是文件大小相对巨大的差异。
我们有包含海量数据库的论坛,但(相对而言)上传量很少。我完全无法预测此类论坛的备份会有多大,也无法区分有备份和无备份的备份之间的差异,尤其是在只有其中一个备份存在的情况下。
我猜我只是来自老一辈。我的运维生涯始于成堆的磁带,基本原则是:除非你验证过备份有效并且包含预期数据,否则它就不是备份。没有什么比花几个小时从 LTO 中提取数据,却发现权限或文件锁定阻止了备份代理抓取关键文件更糟糕的了。
如果目前的安排会让新老用户都感到困惑,也许我们需要在文件名中有一个更清晰的指示符,附加 complete 和 no-uploads?现有的方法给了用户虚假的安全感,所以这确实感觉有改进的空间。
你对此持开放态度吗 @supermathie?
嗯,我想我们是同一代人,我也不会上当的。
但一方面,我们(作为一个社区)一直在告诉人们应该继续自行托管,“这很容易,只需按照说明操作”,而现在我们却期望他们不仅要检查备份的大小,还要查看 .tar.gz 文件的内容,这可能是他们从未听说过的,也不知道如何操作。即使他们做到了,也很难判断内容是否足够。大多数将上传文件放在 S3 上的论坛也有一些本地文件。并非非黑即白,要么所有文件都在,要么所有文件都不在。
将论坛恢复到上传文件仍保留在(之前的)S3 位置的问题在于,它确实有效。一切看起来都很好,直到一个月后上传文件消失。即使文件丢失了,恢复过程难道不会告诉你“会看到丢失的图片”是正常的,最终一切都会好起来吗?
那么我们也要改进一下吗?
也许我们需要检测何时将备份恢复到新实例,并警告用户资产未包含在他们刚刚运行的恢复中。
我相信我们会改进这一点。在恢复没有上传的备份时发出警告非常有意义。