DigitalOcean Spacesへのローカルバックアップを同期するCronタスク

DigitalOcean Spaces へのバックアップが機能しないようです。ただし、サーバーには同じ認証情報で s3fs 経由でバケットがマウントされています。バックアップは Spaces にのみ保存する必要があり、アップロードなどは不要です。ログには EXCEPTION: Aws::S3::Errors::Forbidden と表示され、本番ログには Failed to list backups from S3: Aws::S3::Errors::SignatureDoesNotMatch と表示されます。

bash スクリプトを使用して、ローカルバックアップをバケットに移動する cron タスクを実行する方法はありますか?よろしくお願いします。

これを実行してロールを継続したい他のユーザーのために、bashターミナルでこのコマンドを発行できます。ユーザーはdockerグループに属している必要があります
docker cp app:\"/var/www/discourse/public/backups/default\" /whatever-host-path/

「いいね!」 2

ディスコースのバックアップのことですか?もしそうなら、なぜこれがWordPressにあるのですか?

スペースに移行したいのであれば、S3バックアップを設定するだけで良いのではないでしょうか?

「いいね!」 2

メインサイトはWordPressです。Discourseはサブディレクトリにあります。
メインサイト: main.com
Discourse: main.com/forums
しかし、DigitalOcean SpacesのS3認証情報を設定すると、上記のエラーが発生します。締め切りがあるので、先に述べたコマンドで回避しましたが、誰かの動作設定やトラブルシューティングの手順を見て、これが機能するようにすると便利です。

上記で s3fs について言及されていますが、それは必要ありません。上記のエラーは Discourse がサポートしていない s3fs から発生しています。代わりに、S3 へのファイルおよび画像アップロードの設定 または アップロード用のオブジェクトストレージの使用 (S3 & クローン) のようなものを参照し、バックアップバケットのみを設定してください。

「いいね!」 1

より明確にするために、「ホスト」にはコンテナではなくDigitalOcean Spacesバケットがマウントされています。これら2つの問題は無関係です。DiscourseがS3用に構成されている場合、バックアップはエラーを発生させます。ローカルバックアップを手動でホストマシンにコピーしてからDigitalOcean Spacesに移動すると、バックアップは機能します。

もしForbiddenログがDiscourseからでs3fsからではない場合、つまりSpacesバケットへの保存を試みているのであれば、それは認証情報が間違っているか、バケット名が間違っているかのどちらかです。

ああ!

       S3からのバックアップのリストに失敗しました:

ああ。それが問題だと思います。バケットリストを取得しようとしていますが、できません。修正方法はよくわかりませんが、解決すべき問題はそれです。件名を編集してもよいでしょう。S3バックアップを修正したい場合は、ここでヘルプを得ることができます。s3fsを設定したい場合は、別の場所でヘルプを探す必要があるでしょう。

app.ymlでこのENV変数を試してください。

      FORCE_S3_UPLOADS: 1

エンドポイントは正しいですか?Digital Oceanのセクションをオブジェクトストレージをアップロードに使用する(S3およびクローン)で確認してください。

「いいね!」 1

DigitalOcean Spaces で最終的にこれが機能しました。a) バックアップをオブジェクトストレージにアップロードする b) ファイルアップロードをオブジェクトストレージにアップロードしない。これを解決済みとしてマークしてください。皆さんありがとう!

「いいね!」 2

This topic was automatically closed 30 days after the last reply. New replies are no longer allowed.