Backup-Diskussionen über die Befehlszeile

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-only gesetzt 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/default wieder 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_KEY in 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 den VON-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_category erstelltes 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_topics erstelltes JSON-Archiv in die Ziel-Discourse-Instanz.
1 „Gefällt mir“