将上传内容从 S3 迁移到本地

我想将文件从 S3 迁移回本地。我正在手动将所有文件从 S3 转移到 uploads 文件夹。那么,只需将上传链接的基础 URL 改回论坛的基础 URL,就足以完成这项工作吗?

2 个赞

为什么你不使用内置的 rake 任务?据我所知,它叫做 uploads:migrate_from_s3

cd /var/discourse
./launcher enter app
rake uploads:migrate_from_s3

然后禁用“启用 S3 上传”站点设置:

最后重新生成:

rake posts:rebake
4 个赞

因为我的 S3 用的是 MinIO,我不确定这个功能是否兼容。

1 个赞

我尝试了这条命令,但执行完成后,上传内容没有任何变化,仍然从 S3 提供服务。顺便提一下,这个 rake 任务让我觉得有点奇怪。它结束得太快了,而我实际上有数千个 S3 上传文件,按理说应该需要一段时间才能完成。

1 个赞

我已经将所有上传手动转移到了本地。有什么方法可以直接修改数据库和帖子中的所有链接吗?我不需要使用这个 rake 任务。

1 个赞

你解决了吗?我也想把所有资产(备份除外)从 S3 迁移回本地。有什么简单的方法吗?

3 个赞

我也在寻找类似的选项。但我在本站某处看到,若要正确实现这一功能,需先解决一些重大问题。因此,目前他们建议不要将 S3 迁移到本地。

不过,我也同样焦急地等待该问题的解决方案。

4 个赞

有一个名为“备份时将 S3 上传文件下载到本地”之类的隐藏站点设置。我想你可以利用该功能将数据恢复到另一台服务器(或者,如果你通过环境变量中的影子站点设置更改配置,也可以恢复到你的服务器)。这正是 cdck 在关闭账户时所采用的方法,而我从未在恢复他们的备份时遇到过任何问题。

5 个赞

我已在 Rails 控制台中执行了该设置:SiteSetting.include_s3_uploads_in_backups = true。但它似乎没有任何效果。备份文件大小仍然相同(约 375 MB,即使我的上传文件约为 700 MB 到 1 GB)。

如果您所说的“被覆盖的站点设置”是指 Disco Web UI 中所有的 S3 站点设置,那么我已经将所有这些设置填写在了相应的字段中。

2 个赞

我也正计划将我的上传文件从 S3 迁移到本地(独立的 VPS)。是否有相关的文档化操作流程?

1 个赞

不太行。你可以试试上面提到的那个设置。

1 个赞

有没有办法找到这些隐藏设置?

2 个赞

在此讨论中您可能需要的那个已在上面提及。您可以在 Discourse 源代码中的 site_settings.yml 文件中查看所有选项。

3 个赞

此 rake 任务在 2.9.0 BETA 8 中不再可用。

有人知道如何从 S3 迁移到本地吗?

1 个赞

您可以启用一个隐藏的站点设置,名为 download_s3_with_backups(不完全是这样,但我现在在手机上找不到它),然后恢复该备份。当您离开 cdck 托管时就会发生这种情况,而且它确实有效。您可能需要恢复到不同的服务器(并且您无论如何都会进行测试)。

编辑:谢谢 @Benjamin_D!它是 include_s3_uploads_in_backups

2 个赞

我认为就是这个:

4 个赞

在管理员网站控件 Backup 设置页面中的“设置”页面中,该选项是否可用?这是否与下载 S3 文件相反?

1 个赞

不。

backup_with_uploadsinclude_s3_uploads_in_backups 不同。前者将本地文件包含在备份中。后者每次进行备份时都会从 s3 下载每一个文件。而 s3 的全部意义在于您不需要备份它。

3 个赞

那么这包括在备份到 S3 时包含本地文件吗?

这会从 S3 存储下载文件以包含在备份中(可以是本地的或 S3 上的)


我正在尝试理解正确的步骤,目标是将所有文件从 S3 迁移到本地,所以如果我理解你的意思:

  1. 从 rails 控制台启用 backup_with_uploads
  2. 创建一个备份(本地或 S3 上)
  3. 使用备份进行恢复
  4. 从 rails 控制台禁用 backup_with_uploads

这是正确的吗?

1 个赞

那么,从 S3 迁移到本地的最佳方法是什么?:slight_smile:

  • 手动移动文件(优化/原始文件夹)并在禁用 Discourse 的 S3 选项后进行后置烘焙?
  • 使用隐藏的 download_s3_with_backups 管理员选项,下载并解压这些文件?
  • rake uploads:migrate_from_s3
1 个赞