Как удалить ВСЁ из форума и оставить только пользователей?

Привет!
Когда я создавал свой форум, я не думал о том, что сервер может заполниться, я полагал, что всё будет очищаться автоматически. Я также не знал о вопросах авторского права, проблемах с правосудием и других вещах. Тем более я не искал информацию о том, как запретить пользователям моего форума загружать изображения на сервер!

Оказалось, что теперь у меня возникло множество проблем: переполненный сервер, проблемы с несправедливостью публикации изображений других людей без прав, проблемы с авторским правом.

Я хотел бы узнать, как удалить всё: все темы, все загруженные изображения, все аватары участников, все файлы и т.д., оставив только файлы Discourse (для работы форума) и учётные записи пользователей.

Это возможно? Что можно удалить, а что нельзя?
Какую команду нужно использовать?

Когда я ввожу команду: df -h, появляется следующее:

Что находится в /dev/vda1? Я вижу, что там занято 38 ГБ, но 38 ГБ чего?

overlay тоже занимает 38 ГБ, что находится в этой папке?

Что я могу удалить и как это сделать? Можно ли использовать команды через терминал?

Привет и добро пожаловать @xebiyen :slight_smile:

Боюсь, это не моя специализация, но не думали ли вы, что экспорт или миграция ваших пользователей на свежую установку может быть ещё одним способом решения этой задачи?

У вас есть 20 ГБ свободного места. Удаление постов пользователей, скорее всего, освободит лишь несколько сотен мегабайт. Это не имеет значения. Вы, вероятно, сможете освободить несколько гигабайт, выполнив

 ./launcher cleanup

Если у вас возникли проблемы с авторскими правами, вам следует решать их напрямую. Они у вас появятся снова.

/dev/vda — это весь ваш диск. Вы можете выполнить

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

чтобы увидеть, сколько места занимает Discourse.

Это не папка, это драйвер хранилища overlayFS. Числа совпадают с /dev/vda1.

Это можно игнорировать.

Как это делается? В данном случае сайт будет новым, и продолжат ли пользователи работать с ним?

Я знаю, что это удалит немного, но мне это нужно! Я хочу сбросить всё на своём форуме, и этого больше не повторится, потому что я настрою его так, чтобы никто не мог ничего публиковать в разделе медиа.

Как вы думаете, что почувствуют ваши пользователи, если у них отберут значки за посты, лайки и прочее? Удаление всего вашего контента сопряжено с техническими рисками и может оттолкнуть ваших пользователей.

Насколько велик сейчас ваш сайт с точки зрения числа пользователей, категорий и постов?

Если вы твёрдо решили это сделать, рассмотрите возможность скрыть текущие категории, изменив права доступа на «только для сотрудников», и создайте новые публичные категории для публикаций.

Это не было бы проблемой, так как моим пользователям это не важно, и у меня немного пользователей.

Меня интересовал способ создания новой установки с сохранением моих пользователей. Вы знаете, как это сделать?

Что мешает просто ограничить доступ к текущим сообщениям, вместо того чтобы пытаться редактировать базу данных?

Если это небольшой сайт, почему бы не выделить и не удалить темы массово через интерфейс?

В дополнение к тому, что я уже сказал, этот форум принадлежал другому владельцу, поэтому для меня было бы лучше выполнить чистую переустановку, сохранив при этом пользователей. Как это сделать?

Боюсь, что у меня нет навыков миграции, поэтому, хотя я и предложил это, к сожалению, не знаю, как это сделать. :slight_smile: Я надеялся, что кто-то другой откликнется и хотя бы подтвердит, что это возможно. Кто-нибудь?

Сколько у вас пользователей?
Если вам нужно начать заново с нуля, альтернативным вариантом будет экспортировать адреса электронной почты ваших пользователей (например, с помощью Data Explorer) в CSV-файл, создать форум заново и массово пригласить пользователей, используя этот CSV-файл.


Ещё одна идея, более сложная, и я не уверен, что она сработает так, как я думаю.
Экспортируйте все данные пользователей, которые вы хотите сохранить (поскольку вы, возможно, не хотите сохранять их аватары, возможно, вы захотите пропустить и другую информацию), используя Data Explorer, и сохраните результат в файл.
Затем, после установки нового форума, создайте скрипт на Ruby on Rails, который будет парсить этот файл и создавать записи пользователей в базе данных (а также их настройки, адреса электронной почты и т. д.). :person_shrugging:

Вот пример создания пользователя в консоли Rails:

Ещё один скрипт, который я нашёл здесь: https://meta.discourse.org/t/import-users-from-csv/79203:

Скрипт на каком-то этапе не работает (отсюда и категория Support :smile:), но в нём всё равно может содержаться полезная информация.

О да, когда они об этом говорили, я думал, что это будет точно и проще, поэтому мне придётся вернуться к своему первому варианту: удалять всё на сервере! Знаете, какую команду я использую для удаления файлов на сервере? И какие папки можно удалить? Я хочу удалить всё: от медиафайлов до тем, оставив только тех же пользователей. Мне даже не нужно сохранять стиль форума, я действительно хочу полностью сбросить его.

Что внутри этих двух?

Я думал использовать кнопку «Экспорт» на странице /admin/users/list/active, чтобы получить список пользователей. Возможно, удалить некоторые ненужные столбцы из CSV, а затем импортировать это «каким-то образом».

У меня не так много опыта работы с Discourse в этом плане. Я собираюсь удалить файлы на сервере. Какую команду использовать для удаления папки (если она есть) со всеми медиафайлами Discourse? Включая аватары, изображения на страницах, темы, сообщения чата, обычные сообщения и т. д.?

Не думаю, что есть способ сделать это проще, чем экспортировать ваших пользователей, заново установить Discourse, а затем каким-то образом импортировать пользователей обратно :smile:

Какие данные о пользователях вы хотите сохранить и сколько у вас пользователей? Чем точнее вы опишете ситуацию, тем выше вероятность получить точные ответы, которые помогут решить вашу проблему.

Я использую Google Переводчик, не знаю, правильно ли он перевёл, но, насколько я понял, они не вернутся на форум автоматически, но их пригласят? Я хотел сохранить их как есть, без приглашений. Точный смысл перевода мне не совсем ясен, имеет ли значение способ их возврата?

На моём форуме 550 пользователей

Но они были импортированы так, что можно было использовать тех же пользователей и пароли, или их пригласили бы пройти новую регистрацию?