Discourse 如何备份到 S3

Discourse 与 S3 是对好基友,如果你对 S3 比较熟悉的话,那么对你来说帮助会非常大。

很多人的虚拟主机空间是有限并且资源也是有限的。

使用 S3 进行备份能够更好的利用空间。

你可以按照下面的步骤进行配置:

设置备份频率

进入 admin > backup,然后设置 backup_frequency 为 1。这个是参数是表示备份的频率,默认为 7 。
1 表示的是每天进行备份一次。
7 表示的是每 7 天进行备份一次。

针对一般访问网站,如果使用 S3 进行存储备份的,最好还是每天备份一次。

设置备份的 Bucket 和路径。

这个 Bucket 可以是私有的不公开的,这里需要注意的是,如果你还使用了 S3 为图片和附件存储的话,那么那个 Bucket 在设置的时候是需要选择 public。

为了方便,你可以在这里另外创建一个 bucket,尽量不要和附件和图片的存储搞混了。

我们建议你在这里多设置一个目录路径,因为 Discourse 会在这个文件夹下面创建多个需要的文件夹。

以便于你的存储更加清晰和明确。

设置 s3_access_key_id 和 s3_secret_access_key

下一步,你需要为你存储的备份数据设置:s3_access_key_ids3_secret_access_key 以及s3_region 。这 3 个参数非常重要,region 不能选错了。如果你的备份上传不上去,那么绝大部分情况可能是权限的问题。

具体的设置方法请参考: Setting up file and image uploads to S3 - sysadmin - Discourse Meta 文章中的内容。

需要注意的是,这里你需要为你的 key ID 赋予足够的权限,否则你将没有办法上传。

将备份设置为 S3 存储

将备份的方式设置为 S3 存储。

你需要在这个参数选择部分,将 Local 的存储修改为 S3 存储。

测试备份

当一切都设置好以后,你可以进行测试备份。

单击备份按钮进行测试备份。在备份的菜单中,直接单击 Buckup 就可以了。


在弹出的界面中会询问你是否包含上传的图片和附件。

一般来说都会在这里选择 Yes。随后界面会跳转到日志界面中,然后会将备份的信息通过日志显示出来。你可以通过观察日志是否显示 Finished 来确定备份是否已经完成。

更重要的是你可以登录你的 S3 账号,确定已经有最新的备份了。


你需要注意下时间,大小和文件名进行确认就可以了。


通过设置 S3 的备份,我们能够扩展 Discourse 的存储空间,几乎获得无限的备份和无限的存储空间。对网站运营来说,自动备份和上传是非常实用的功能。

同时你也有多个存储的备份,便于你对网站进行恢复的时候恢复到不同的备份点。

因为你将备份文件,从 Docker 上分离了,这个对你日常备份非常有帮助。能够大量降低存储空间的使用。

我们同时建议将图片和附件也存储到 S3 上面,这样对你迁移,备份恢复都有非常大的优势。

请参考原文 Discourse 如何备份到 S3 - Discourse - OSSEZ 了解更多内容。

1 Like