S3からローカルへのアップロードの移行

S3からローカルへファイルを移行したいと考えています。現在、S3からuploadsフォルダへすべてのファイルを手動で転送しています。次に、アップロードリンクのベースURLをフォーラムのベースURLに戻せば、これで作業は完了するでしょうか?

「いいね!」 2

なぜ組み込みの rake タスクを使用しないのですか?記憶では、それは uploads:migrate_from_s3 という名前だったはずです。

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

次に、enable s3 uploads サイト設定を無効にします。

最後に、再ビルドを実行します。

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

バックアップに含まれる非表示のサイト設定を有効にし(正確な名前は現在携帯電話で見つけられませんが)、そのバックアップを復元できます。これは、cdckホスティングを離れるときに発生するもので、機能します。別のサーバーに復元する必要があるかもしれません(テストのため anyway に必要になります)。

編集:@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:

  • ファイル(optimized/originalフォルダ)を手動で移動し、DiscourseからS3オプションを無効にした後にポストリベイクを実行する?
  • シャドウ化されたdownload_s3_with_backups管理オプションを使用して、それらのファイルをダウンロードして解凍する?
  • rake uploads:migrate_from_s3
「いいね!」 1