Mit Hilfe einiger KI-Tools haben wir eine umfassende Liste der Unterbefehle für den discourse-Befehl erstellt.
Die discourse-CLI (implementiert über script/discourse mit dem Thor-Gem) bietet 13 Kern-Unterbefehle, die in Backups & Wiederherstellungen, Site-Verwaltung & Modi, Datenbank-Utilities und Datenmigration (Import/Export) unterteilt sind.
Schnelle Befehlsreferenz
| Kategorie | Unterbefehl | Hauptfunktion |
|---|---|---|
| Backup & Wiederherstellung | backup |
Erstellt ein vollständiges oder nur datenbankbasiertes Backup-Archiv. |
restore |
Stellt eine .tar.gz-Backup-Datei in der Instanz wieder her. |
|
enable_restore |
Gewährt die Berechtigung, Wiederherstellungsbefehle auszuführen. | |
disable_restore |
Entzieht die Berechtigung zur Durchführung von Wiederherstellungen. | |
rollback |
Setzt den Datenbankstatus nach einer fehlgeschlagenen Wiederherstellung zurück. | |
| Site-Modi | enable_readonly |
Schaltet den temporären Nur-Lese-Modus für die gesamte Site um. |
disable_readonly |
Entfernt den Nur-Lese-Modus, um normale Schreibvorgänge auf der Site wieder zu ermöglichen. | |
request_refresh |
Löst bei allen aktiven, verbundenen Clients einen Aufforderung zum Browser-Neuladen aus. | |
| Datenbank-Operationen | remap |
Führt eine globale Textsuche und -ersetzung über alle Datenbanktabellen hinweg durch. |
| Datenmigration | export_category |
Exportiert eine einzelne Kategorie, ihre Themen und zugehörige Benutzer. |
import_category |
Importiert ein Kategorie-Archiv in das aktuelle Forum. | |
export_topics |
Exportiert spezifische Themen nach ID sowie die Konten ihrer Autoren und Antwortenden. | |
import_topics |
Importiert ein Themen-Archiv in das aktuelle Forum. |
Detaillierte Dokumentation der Unterbefehle
1. Backup- und Wiederherstellungsbefehle
discourse backup [DATEINAME]
-
Beschreibung: Erstellt ein vollständiges Backup der Forendatenbank und der Assets.
-
Flags:
-
--sql-only: (Boolean, Standard:false) Sichert nur die PostgreSQL-Datenbank und überspringt lokale Upload-Dateien. -
--s3-uploads: (Boolean, Standard:false) Erzwingt die Aufnahme von in S3 gespeicherten Assets in das Backup-Archiv (wird ignoriert, wenn--sql-onlygesetzt ist). -
Beispiel:
discourse backup
discourse backup --sql-only
discourse restore [DATEINAME]
- Beschreibung: Stellt ein Forum-Backup aus einem lokalen
.tar.gz-Archiv im Verzeichnis/var/www/discourse/public/backups/defaultwieder her. - Voraussetzung: Erfordert die vorherige Ausführung von
discourse enable_restore. - Beispiel:
discourse restore discourse-2026-07-22-120000-v2026xxxx.tar.gz
discourse enable_restore & discourse disable_restore
- Beschreibung: Schaltet den Anwendungsflag um, der console- oder webbasierte Wiederherstellungsaufgaben erlaubt oder einschränkt.
- Nutzungsabfolge:
discourse enable_restore
discourse restore <dateiname>
discourse disable_restore
discourse rollback
- Beschreibung: Rollt das Datenbankschema und den Status auf den Zustand vor einer fehlgeschlagenen Wiederherstellung zurück.
2. Site-Status und Client-Steuerungen
discourse enable_readonly & discourse disable_readonly
- Beschreibung: Setzt oder löscht den
READONLY_MODE_KEYin Redis. - Details:
- Sperrt Datenbank-Schreibvorgänge, während die Site für Benutzer weiterhin lesbar bleibt.
- Verwendet eine kurze Time-to-Live (TTL)-Schleife, die während der Aktivität aktualisiert wird, um zu verhindern, dass die Site dauerhaft gesperrt bleibt, falls eine Terminal-Sitzung abstürzt.
discourse request_refresh
- Beschreibung: Sendet eine Systemnachricht über MessageBus, die alle aktiven Web-Sitzungen anweist, die Webseite neu zu laden. Nützlich nach dem Bereitstellen von Asset-Updates oder globalen Theme-Änderungen.
3. Datenbank-Remapping
discourse remap [OPTIONEN] VON NACH
-
Beschreibung: Führt eine direkte String-Suche und -Ersetzung in Textspalten der Datenbank durch. Entscheidend bei der Aktualisierung von Domainnamen, CDN-Pfaden oder Image-Upload-Präfixen.
-
Flags:
-
--global: (Boolean) Durchsucht und remappt alle Tabellen statt nur der Standard-Inhaltstabellen. -
--regex: (Boolean) Bewertet denVON-Parameter als regulären Ausdruck statt als literalen String. -
Beispiel:
discourse remap "old-domain.com" "new-domain.com"
discourse remap --global "/uploads/default/" "/cdn-uploads/"
4. Selektiver Daten-Import und -Export
discourse export_category [KATEGORIE_ID]
- Beschreibung: Serialisiert eine einzelne Kategorie, einschließlich aller verschachtelten Themen, Beiträge und beteiligten Benutzerprofile, in eine JSON-Archivdatei.
discourse import_category [DATEI_PFAD]
- Beschreibung: Liest ein von
export_categoryerstelltes Archiv und fügt die Kategoriedaten in die Zielinstanz ein.
discourse export_topics [THEMEN_IDS...]
- Beschreibung: Nimmt eine oder mehrere durch Leerzeichen getrennte Themen-IDs und exportiert die Themen, Beiträge und relevanten Benutzerkonten.
- Beispiel:
discourse export_topics 102 105 210
discourse import_topics [DATEI_PFAD]
- Beschreibung: Importiert ein von
export_topicserstelltes JSON-Archiv in die Ziel-Discourse-Instanz.