TehLeo
(Chris)
Mars 20, 2025, 10:31
1
Je n’arrive pas à restaurer à partir d’une sauvegarde S3 de Discourse.
Étapes pour reproduire :
Avoir une sauvegarde de Discourse sur S3.
Installer une nouvelle instance de Discourse.
Créer un compte administrateur.
Connecter Discourse à S3.
Localiser la sauvegarde Discourse dans mes listes de sauvegardes S3.
Activer la restauration.
Tenter la restauration.
La restauration échoue.
Journal :
J’ai tout essayé pour dépanner S3. J’ai même essayé de déplacer la sauvegarde sur le serveur et effectué une restauration manuelle / en ligne de commande. Elle échoue avec le même journal. J’ai essayé de désactiver les téléchargements S3. Je ne sais pas quelles sont mes prochaines étapes de dépannage, ni comment voir exactement quel message cause le problème / le supprimer.
Merci pour toute aide !
1 « J'aime »
Canapin
(Coin-coin le Canapin)
Mars 20, 2025, 10:56
3
Bienvenue !
TehLeo:
J’ai tout essayé
Est-ce que “tout” inclut la consultation des journaux d’erreurs similaires ici ?
https://meta.discourse.org/search?q=%22posts%20are%20not%20remapped%22%20%22s3%20migration%20failed%22%20order%3Alatest
Ce résultat en particulier :
This sounds like the problem mentioned in Can't restore a backup if it includes link to Discourse onebox
You should be able to fix this during the restore, but you need to do it on the shell.
cd /var/discourse
./launcher enter app
# start the restore with the --pause argument
discourse restore --pause <backup_filename>
It will pause the restore process at two points:
Before DB migrations are run – you can ignore that; press a key to continue
Before Uploads are res…
1 « J'aime »
TehLeo
(Chris)
Mars 20, 2025, 11:16
4
J’ai suivi ces instructions et j’ai reçu 9 publications de la carrière. L’ancienne publication ne détaille pas quoi faire de ces publications, ni comment corriger le problème au-delà de ce point.
Canapin
(Coin-coin le Canapin)
Mars 20, 2025, 11:47
5
Ceci est ce que ask.discourse.org renvoie, je ne peux garantir que ce soit sûr ou que cela fonctionne.
Lors d’une restauration en pause, vous avez la possibilité de modifier ou de nettoyer temporairement des données problématiques telles que des téléversements ou des publications dans la base de données avant que Discourse ne procède à l’achèvement du processus de restauration. Voici comment vous pouvez gérer ou modifier les données problématiques lors d’une restauration en pause, étape par étape.
Étapes pour gérer manuellement les données problématiques lors d’une restauration en pause
Lancer la restauration avec pause :
Exécutez la restauration avec le drapeau --pause pour permettre à la restauration de faire une pause avant que les téléversements ou les remappage ne soient appliqués :
cd /var/discourse
./launcher enter app
discourse restore --pause <nom_du_fichier_de_sauvegarde>
Point de pause :
La restauration s’arrêtera à des points spécifiques :
Avant les migrations de base de données : Appuyez sur une touche pour continuer à ce stade, car cela ne concerne pas les téléversements ou les publications problématiques.
Avant la restauration des téléversements : Arrêtez-vous ici pour modifier les problèmes liés aux téléversements ou au contenu des publications. C’est le point critique où vous devez agir.
Ouvrir une nouvelle session SSH :
Pendant que la restauration est en pause, ouvrez une nouvelle session SSH pour interagir avec l’instance en pause sans interrompre le processus de restauration :
cd /var/discourse
./launcher enter app
Accéder à la console Rails :
Entrez dans la console Rails pour interagir avec la base de données :
rails c
Identifier les publications problématiques :
Cela renverra les publications dont le contenu cooked inclut des chemins de téléversement problématiques ou des liens onebox.
Modifier ou supprimer les publications problématiques :
Si vous avez localisé la ou les publications problématiques, vous avez deux options principales :
Modifier les téléversements si nécessaire :
Si le problème provient de téléversements spécifiques problématiques :
Reprendre le processus de restauration :
Après avoir effectué les modifications nécessaires, retournez à la session shell en pause et appuyez sur n’importe quelle touche pour reprendre le processus de restauration.
Considérations importantes :
Créez toujours une sauvegarde du fichier de base de données d’origine avant de modifier tout contenu.
Concentrez-vous sur la correction d’un minimum de données, c’est-à-dire, ne traitez que le contenu problématique sans apporter de modifications inutiles.
Si le téléversement est externe (un problème d’URL ou lié au CDN), vous pouvez supprimer la référence externe manuellement pendant la restauration.
1 « J'aime »
TehLeo
(Chris)
Mars 20, 2025, 11:47
6
J’ai donc pu supprimer les 9 publications en utilisant la commande Rails suivante :
Post.find(id#).destroy
1 « J'aime »
Canapin
(Coin-coin le Canapin)
Mars 20, 2025, 11:49
7
Avez-vous exécuté ceci pendant que la restauration était en pause ?
system
(system)
A fermé ce sujet ()
Avril 19, 2025, 11:50
8
This topic was automatically closed 30 days after the last reply. New replies are no longer allowed.