Sauvegarde de Discourse depuis la ligne de commande

Avec l’aide de l’IA, voici une liste complète des sous-commandes pour la commande discourse.

L’interface en ligne de commande discourse (implémentée via script/discourse en utilisant le gem Thor) fournit 13 sous-commandes principales, classées dans les catégories Sauvegardes & Restaurations, Gestion & Modes du Site, Utilitaires de Base de Données et Migration de Données (Importation/Exportation).


Référence rapide des commandes

Catégorie Sous-commande Fonction principale
Sauvegarde & Restauration backup Génère une archive de sauvegarde complète ou uniquement de la base de données.
restore Restaure un fichier de sauvegarde .tar.gz dans l’instance.
enable_restore Accorde la permission d’exécuter les commandes de restauration.
disable_restore Révoque la permission d’effectuer des restaurations.
rollback Annule l’état de la base de données après une restauration échouée.
Modes du Site enable_readonly Active temporairement le mode lecture seule sur l’ensemble du site.
disable_readonly Désactive le mode lecture seule pour rétablir les écritures normales sur le site.
request_refresh Déclenche une invite de rafraîchissement du navigateur pour tous les clients connectés actifs.
Opérations Base de Données remap Effectue une recherche et remplacement de texte global dans les tables de la base de données.
Migration de Données export_category Exporte une seule catégorie, ses sujets et les utilisateurs associés.
import_category Importe une archive de catégorie dans le forum actuel.
export_topics Exporte des sujets spécifiques par ID ainsi que les comptes de leurs auteurs/répondants.
import_topics Importe une archive de sujets dans le forum actuel.

Documentation détaillée des sous-commandes

1. Commandes de Sauvegarde & Restauration

discourse backup [FILENAME]

  • Description : Crée une sauvegarde complète de la base de données du forum et des actifs (fichiers).

  • Options :

  • --sql-only : (Booléen, Par défaut : false) Extrait uniquement la base de données PostgreSQL, en ignorant les fichiers téléversés localement.

  • --s3-uploads : (Booléen, Par défaut : false) Force l’inclusion des actifs stockés sur S3 dans l’archive de sauvegarde (ignoré si --sql-only est défini).

  • Exemple :

discourse backup
discourse backup --sql-only

discourse restore [FILENAME]

  • Description : Restaure une sauvegarde de forum à partir d’une archive locale .tar.gz située dans /var/www/discourse/public/backups/default.
  • Prérequis : Nécessite d’exécuter discourse enable_restore au préalable.
  • Exemple :
discourse restore discourse-2026-07-22-120000-v2026xxxx.tar.gz

discourse enable_restore & discourse disable_restore

  • Description : Active ou désactive le drapeau de l’application qui permet ou restreint les tâches de restauration via la console ou le web.
  • Séquence d’utilisation :
discourse enable_restore
discourse restore <filename>
discourse disable_restore

discourse rollback

  • Description : Restaure le schéma et l’état de la base de données à l’état antérieur à une tentative de restauration échouée.

2. État du Site & Contrôles Clients

discourse enable_readonly & discourse disable_readonly

  • Description : Définit ou supprime la clé READONLY_MODE_KEY dans Redis.
  • Détails :
  • Gèle les écritures dans la base de données tout en gardant le site lisible pour les utilisateurs.
  • Utilise une boucle à courte durée de vie (TTL) rafraîchie tant que le mode est actif, empêchant le site de rester verrouillé de manière permanente en cas de crash de la session terminal.

discourse request_refresh

  • Description : Envoie un message système via MessageBus indiquant à toutes les sessions web en ligne de recharger la page web. Utile après le déploiement de mises à jour d’actifs ou de changements globaux de thème.

3. Remappage de la Base de Données

discourse remap [OPTIONS] FROM TO

  • Description : Effectue une recherche et remplacement direct de chaînes dans les colonnes textuelles de la base de données. Crucial lors de la mise à jour de noms de domaine, de chemins CDN ou de préfixes de téléversement d’images.

  • Options :

  • --global : (Booléen) Analyse et remappe toutes les tables plutôt que les tables de contenu standard.

  • --regex : (Booléen) Évalue le paramètre FROM comme une expression régulière plutôt que comme une chaîne littérale.

  • Exemple :

discourse remap "old-domain.com" "new-domain.com"
discourse remap --global "/uploads/default/" "/cdn-uploads/"

4. Importation & Exportation Sélective de Données

discourse export_category [CATEGORY_ID]

  • Description : Sérialise une seule catégorie, incluant tous les sujets imbriqués, les messages et les profils des utilisateurs participants, dans un fichier archive JSON.

discourse import_category [FILE_PATH]

  • Description : Lit une archive créée par export_category et fusionne les données de la catégorie dans l’instance cible.

discourse export_topics [TOPIC_IDS...]

  • Description : Prend un ou plusieurs IDs de sujets séparés par des espaces et exporte les sujets, les messages et les comptes d’utilisateurs pertinents.
  • Exemple :
discourse export_topics 102 105 210

discourse import_topics [FILE_PATH]

  • Description : Importe une archive JSON créée par export_topics dans l’instance Discourse de destination.
1 « J'aime »