Comment télécharger une sauvegarde Discourse et restaurer la base de données locale

Accédez à l’interface de sauvegarde du site Web pour voir toutes les sauvegardes actuelles.


Cliquez sur le bouton de téléchargement.

Il est important de noter qu’après le téléchargement, le système enverra un lien à votre adresse e-mail.

Vous pouvez utiliser le lien reçu dans l’e-mail pour télécharger les données.

Lien de téléchargement

Cliquez sur l’adresse du lien de téléchargement reçue dans l’e-mail pour télécharger.


Le fichier téléchargé est un fichier tar.gz, vous devrez le décompresser pour pouvoir l’utiliser.

Par exemple, notre fichier téléchargé actuel est : isharkfly-2023-09-14-092024-v20230910021213.tar

Après une série de chemins de décompression complexes, vous pouvez trouver le fichier dump.sql.

Ce fichier est votre sauvegarde complète de la base de données.

Restauration des données

Le chemin d’installation de psql pour PQadmin sous Windows est : C:\Users\yhu\AppData\Local\Programs\pgAdmin 4\v7\runtime

Notre commande d’exécution est : psql -h nas1120 -p 5433 -U postgres -W -d discourse -f C:\\Users\\yhu\\Downloads\\isharkfly-2023-09-14-092024-v20230910021213\\isharkfly-2023-09-14-092024-v20230910021213\\dump.sql\\dump.sql

La base de données locale ne peut pas être écrasée lors de la restauration.

Si votre base de données locale existe déjà, vous devez la vider avant de pouvoir la restaurer.

Le processus de restauration de la sauvegarde nécessite la restauration de toutes les données et de la structure des tables.

Le programme de restauration ne peut pas effectuer de restauration sur une structure de données existante ni effectuer de restauration incrémentielle.

Vérification des données de la table

Vérifiez les données de la table pour confirmer que certaines données de table ont été restaurées.


L’horodatage est généralement un bon moyen de vérification.

1 « J'aime »

Complément.
Si le service de messagerie tombe en panne, les administrateurs disposant des autorisations SSH peuvent voir tous les fichiers de sauvegarde dans /var/discouse/{standalone | web_only}/backup/default.

Une note :
Si le service de messagerie tombe en panne, l’administrateur disposant des autorisations SSH peut voir tous les fichiers de sauvegarde dans /var/discouse/{standalone | web_only}/backup/default.

3 « J'aime »

Comment utiliser Minio pour les sauvegardes ? Je ne comprends pas les messages d’erreur du journal, voici le journal :

....
[2023-10-03 13:33:24] Suppression du répertoire temporaire '/var/www/discourse/tmp/backups/default/2023-10-03-133319'...
[2023-10-03 13:33:24] Compression de l'archive, cela peut prendre un certain temps...
[2023-10-03 13:33:25] Téléchargement de l'archive...
[2023-10-03 13:33:27] EXCEPTION : Aws::S3::Errors::Forbidden
[2023-10-03 13:33:27] /var/www/discourse/vendor/bundle/ruby/3.2.0/gems/aws-sdk-s3-1.114.0/lib/aws-sdk-s3/object.rb:445:in `rescue in exists?'
/var/www/discourse/vendor/bundle/ruby/3.2.0/gems/aws-sdk-s3-1.114.0/lib/aws-sdk-s3/object.rb:440:in `exists?'
/var/www/discourse/lib/backup_restore/s3_backup_store.rb:46:in `upload_file'
/var/www/discourse/lib/backup_restore/backuper.rb:344:in `upload_archive'
/var/www/discourse/lib/backup_restore/backuper.rb:41:in `run'
/var/www/discourse/script/spawn_backup_restore.rb:9:in `backup'
/var/www/discourse/script/spawn_backup_restore.rb:31:in `block in <main>'
/var/www/discourse/script/spawn_backup_restore.rb:4:in `fork'
/var/www/discourse/script/spawn_backup_restore.rb:4:in `<main>'
[2023-10-03 13:33:27] Suppression des anciennes sauvegardes...
[2023-10-03 13:33:28] Nettoyage...
[2023-10-03 13:33:28] Suppression de l'archive du stockage local...
[2023-10-03 13:33:28] Suppression des restes de '.tar'...
[2023-10-03 13:33:28] Marquage de la sauvegarde comme terminée...
[2023-10-03 13:33:28] Notification à 'XXX' de la fin de la sauvegarde...

Le journal ci-dessus devrait indiquer un manque de permission pour S3.

Vérifiez que vos paramètres de permission S3 sont corrects.

Voici mes paramètres, s’il vous plaît, regardez où les paramètres sont incorrects :

  1. Paramètres de Discourse
  2. Paramètres des autorisations du bucket de sauvegarde Minio
{
    "Version": "2012-10-17",
    "Statement": [
        {
            "Effect": "Allow",
            "Principal": {
                "AWS": [
                    "*"
                ]
            },
            "Action": [
                "s3:GetBucketLocation",
                "s3:ListBucketMultipartUploads"
            ],
            "Resource": [
                "arn:aws:s3:::discourse-backup"
            ]
        },
        {
            "Effect": "Allow",
            "Principal": {
                "AWS": [
                    "*"
                ]
            },
            "Action": [
                "s3:GetObject"
            ],
            "Resource": [
                "arn:aws:s3:::discourse-backup/*"
            ]
        }
    ]
}
  1. Les autorisations du bucket de téléchargement Minio sont publiques

Consultez cet article pour voir : discourse-docs/minio.md at master · rishabhnambiar/discourse-docs · GitHub

Cet article date de l’époque où le style de chemin était pris en charge. Désormais, seul le style DNS est pris en charge, et je ne trouve aucun tutoriel de configuration MinIO sur tout le web.

Voyons voir si le problème vient peut-être des paramètres de Minio.

Essayez d’utiliser un autre outil, par exemple un outil qui peut accéder directement au compartiment de stockage, pour voir si vous pouvez téléverser directement.

Si vous pouvez téléverser directement ici, alors il s’agit très probablement d’un problème de configuration de Discourse. Si vous ne pouvez pas téléverser directement ici, alors il s’agit très probablement d’un problème de permissions.