フォーラムからすべてを削除してユーザーだけを残す方法

こんにちは!

フォーラムを作成したとき、サーバーがいっぱいになることや、自動的にクリーンアップされること、著作権の問題、法的な問題などについては考えていませんでした。ましてや、フォーラムのユーザーが画像をサーバーにアップロードできないようにする方法について情報を集めることなど、全く考えていませんでした!

現在、サーバーがいっぱいであること、他人の画像を権利なく公開することに関する法的な問題、著作権の問題など、いくつかの問題に直面しています。

すべて、すべてのトピック、投稿されたすべての画像、メンバーのアバターのすべての画像、すべてのファイルなどを削除し、Discourseのファイル(フォーラムを実行するため)とユーザーのみを残すにはどうすればよいですか?

可能ですか?何を削除でき、何を削除できませんか?
どのコマンドを使用しますか?

コマンド df -h を入力すると、次のように表示されます。

dev/vda1 には何がありますか? 38G 使用済みと表示されていますが、38G は何ですか?
overlay も 38G ですが、そのフォルダには何が入っていますか?
何を削除でき、どのように削除しますか?プロンプトからコマンドを使用できますか?

「いいね!」 1

こんにちは、ようこそ @xebiyen :slight_smile:

これは私の専門ではありませんが、ユーザーをエクスポート/移行して新規インストールにすることで、別の解決策になるのではないかと思いました。

「いいね!」 2

空き容量は20GBです。ユーザーの投稿を削除しても、数百MBしか空き容量が増えないでしょう。大した違いはありません。

./launcher cleanup

で数GBの空き容量を確保できる可能性があります。著作権の問題がある場合は、直接対処してください。そうでなければ、また同じ問題に直面することになります。

/dev/vda はドライブ全体です。

du -hs /var/discourse/shared/standalone/*

を実行すると、Discourseが使用している容量を確認できます。

「いいね!」 4

フォルダではなく、overlayFSストレージドライバーです。数字は /dev/vda1 と同じです。

無視しても問題ありません。

「いいね!」 1

どのように行われますか?この場合、サイトは新規となり、ユーザーは継続しますか?

少しは削除されるかもしれませんが、それでも必要です!フォーラムのすべてをリセットしたいのです。そして、メディアに誰も投稿できないように設定するので、二度とそのようなことは起こりません。

投稿や「いいね!」などのバッジを失うことについて、ユーザーはどう感じると思いますか? コンテンツをすべて削除することは、技術的にリスクが高いだけでなく、ユーザーを疎外する可能性も高まります。

現在、ユーザー数、カテゴリ数、投稿数はどのくらいですか?

もしこれに固執するなら、現在のカテゴリの権限をスタッフのみに変更し、投稿用の新しい公開カテゴリを作成することを検討してください。

「いいね!」 5

これは問題になりません。ユーザーは気にしませんし、ユーザー数も少ないからです。

新しいインストールを作成してユーザーを維持する方法に興味がありました。ご存知ですか?

現在の投稿へのアクセスを制限するのではなく、データベースを編集しようとするのを妨げているのは何ですか?

小規模なサイトであれば、UIからトピックを一括選択して削除してはいかがでしょうか?

「いいね!」 1

お伝えしたことに加えて、このフォーラムは別の所有者のものだったので、ユーザーを維持したまま、ゼロから再インストールするのが私にとってはより良いのですが、どのように行いますか?

私の移行スキルは皆無なので、提案したものの、残念ながらやり方がわかりません。:slight_smile: 誰かが少なくともそれが可能かどうか確認してくれることを期待していました。どなたか?

ユーザーは何人いますか?
最初からやり直す必要がある場合、代替案として、ユーザーのメールアドレスを(たとえばデータエクスプローラーを使用して)CSVファイルとしてエクスポートし、フォーラムを再作成して、CSVファイルを使用してユーザーを一括招待することができます。


別のアイデアは、より困難で、私が思うように機能するかどうかはわかりません。
保持したいすべてのユーザーデータを(アバターを保持したくないので、他の情報もスキップしたいかもしれません)データエクスプローラーを使用してエクスポートし、結果をファイルとしてエクスポートします。
次に、新しいフォーラムをインストールした後、ファイルを解析してデータベースにユーザーエントリ(およびそれらのオプション、メールなど)を作成するRailsスクリプトを作成します。:person_shrugging:

Railsコンソールでのユーザー作成の例を次に示します。

ここで見つけた別のスクリプト:https://meta.discourse.org/t/import-users-from-csv/79203:

スクリプトは途中で機能しません(そのため、#supportカテゴリがあります:smile:)。しかし、それでも興味深い情報が含まれている可能性があります。

「いいね!」 3

ああ、そうですね。彼らがそれについて話していたとき、私はそれが正確で簡単だと思いました。だから、サーバーで物事を削除するという最初の選択肢に戻らなければなりません!サーバーで物事を削除するために使用するコマンドを知っていますか?そして、どのフォルダーを削除できますか?メディアからトピックまで、すべてを削除したいのですが、ユーザーは同じままにしておきます。フォーラムのスタイルさえ維持したくありません。本当にリセットしたいのです。

これら2つの中には何が入っていますか?

/admin/users/list/active ページにある「エクスポート」ボタンを使用してユーザーリストを取得することを考えていました。CSVから不要な列をいくつか削除してから、それを「なんとか」インポートします。

「いいね!」 1

サーバー上のものを削除する予定ですが、Discourseのメディア(プロフィール写真、壁の写真、トピック、チャットメッセージ、通常のメッセージなど)をすべて削除するには、どのコマンドを使用すればよいですか?

ユーザーをエクスポートしてからDiscourseを最初から再インストールし、その後「なんとかして」ユーザーをインポートするよりも簡単な方法はないと思います :smile:

ユーザーからどのようなデータを保持したいですか?また、ユーザーは何人いますか?より具体的に教えていただければ、問題を解決するための正確な回答が得られる可能性が高くなります。

Google翻訳を使用していますが、正しく翻訳されたかわかりません。理解したところによると、フォーラムに戻ってくるのではなく、招待されるのでしょうか?招待なしで、そのままにしておきたいのですが。翻訳が正確に理解できなかったのですが、方法によって違いはありますか?

私のフォーラムには550人のユーザーがいます

しかし、それらは同じユーザーとパスワードを使用できるほどインポートされたのでしょうか、それとも新しい登録を行うように招待されるのでしょうか?