varun21
(Varun Sharma)
1
我似乎无法让备份正常工作到 DigitalOcean Spaces。但是,服务器使用相同的凭据通过 s3fs 挂载了存储桶。我只需要将备份存储在 Spaces 中,而不需要上传等。日志显示 EXCEPTION: Aws::S3::Errors::Forbidden。生产日志显示 Failed to list backups from S3: Aws::S3::Errors::SignatureDoesNotMatch。
有没有办法通过 bash 脚本将本地备份 cron 到存储桶?谢谢。
varun21
(Varun Sharma)
2
对于其他遇到此问题并希望继续进行的用户,可以在 bash 终端中运行以下命令。用户需要属于 docker 组
docker cp app:\"/var/www/discourse/public/backups/default\" /whatever-host-path/
2 个赞
pfaffman
(Jay Pfaffman)
3
您是指 discourse 备份吗?如果是,为什么这在 WordPress 中?
如果您希望它们转到 spaces,为什么不配置 S3 备份?
2 个赞
varun21
(Varun Sharma)
4
主站点是 WordPress。Discourse 在子目录中。
主站点:main.com
Discourse:main.com/forums
但是为 DigitalOcean Spaces 配置 S3 凭证会给我带来上述错误。我有一个截止日期要赶,所以刚刚通过我之前提到的命令解决了这个问题。但是,看到有人实际可用的设置和/或故障排除步骤来解决这个问题会很有帮助。
pfaffman
(Jay Pfaffman)
5
1 个赞
varun21
(Varun Sharma)
6
为了更明确地说,“主机”挂载了 DigitalOcean Spaces 存储桶,而不是容器。这两个问题是无关的。如果 Discourse 配置为使用 S3,备份会抛出错误。如果我手动将本地备份复制到主机,然后将其移动到 DigitalOcean Spaces,备份就能正常工作。
pfaffman
(Jay Pfaffman)
7
如果 Forbidden 日志来自 Discourse 而不是 s3fs,并且尝试保存到 Spaces 存储桶,那么问题可能出在凭据错误或存储桶名称错误。
啊!
Failed to list backups from S3:
啊。我认为这就是问题所在。它正在尝试获取存储桶列表但失败了。我不太确定如何解决,但这确实是您需要解决的问题,因此您可以编辑主题。如果您想修复 S3 备份,可以在这里获得帮助;如果您想配置 s3fs,则可能需要到别处寻求帮助。
在您的 app.yml 中尝试此环境变量
FORCE_S3_UPLOADS: 1
您的端点是否正确?请查看 将对象存储用于上传(S3 和克隆) 中的 Digital Ocean 部分。
1 个赞
varun21
(Varun Sharma)
8
终于,这适用于 DigitalOcean Spaces:a) 将备份上传到对象存储 b) 不将文件上传上传到对象存储。请将此标记为已解决。谢谢大家!
2 个赞
system
(system)
关闭
9
This topic was automatically closed 30 days after the last reply. New replies are no longer allowed.