Impossible de téléverser la sauvegarde

Salut !

Je viens d’installer Discourse sur un nouveau serveur et j’essaie maintenant de téléverser une sauvegarde d’environ 400 Mo.
Elle reste bloquée à 40 % avec l’erreur suivante :
Ralentissez, trop de requêtes provenant de cette adresse IP. Veuillez réessayer dans 2 secondes. Code d'erreur : ip_10_secs_limit.

Qu’est-ce que c’est et comment puis-je résoudre ce problème ?

1 « J'aime »

Comme solution de contournement, vous pourriez téléverser la sauvegarde via SCP. Voir Restore a backup from the command line pour plus d’informations.

@martin Est-ce que cela pourrait être causé par le passage à Uppy ?

2 « J'aime »

J’ai suivi votre lien pour restaurer la sauvegarde depuis la CLI, mais rien n’a été restauré, c’était toujours comme une nouvelle installation.

La sauvegarde contient-elle le fichier app.yml « ancien » et sera-t-il écrasé lors de la restauration de la sauvegarde ? Sinon, toute la sauvegarde est inutile.

J’ai essayé de restaurer la sauvegarde depuis Discourse et maintenant j’ai un site vierge.

Voici ce qui s’affiche dans la ligne de commande lorsque j’essaie de restaurer la sauvegarde. Bien sûr, j’ai suivi les commandes du lien, mais il semble que quelque chose ait changé.

Starting restore: backup-2021-12-06-185610-v20211201221028.tar.gz
[STARTED]
'system' has started the restore!
Marking restore as running...
Making sure /var/www/discourse/tmp/restores/default/2021-12-18-163225 exists...
Copying archive to tmp directory...
EXCEPTION: lib/discourse.rb:127:in `exec': Failed to copy archive to tmp directory.
cp: cannot stat '/var/www/discourse/public/backups/default/backup-2021-12-06-185610-v20211201221028.tar.gz': No such file or directory
lib/discourse.rb:154:in `execute_command'
lib/discourse.rb:127:in `exec'
lib/discourse.rb:34:in `execute_command'
/var/www/discourse/lib/backup_restore/local_backup_store.rb:42:in `download_file'
/var/www/discourse/lib/backup_restore/backup_file_handler.rb:62:in `copy_archive_to_tmp_directory'
/var/www/discourse/lib/backup_restore/backup_file_handler.rb:22:in `decompress'
/var/www/discourse/lib/backup_restore/restorer.rb:42:in `run'
script/discourse:149:in `restore'
/var/www/discourse/vendor/bundle/ruby/2.7.0/gems/thor-1.1.0/lib/thor/command.rb:27:in `run'
/var/www/discourse/vendor/bundle/ruby/2.7.0/gems/thor-1.1.0/lib/thor/invocation.rb:127:in `invoke_command'
/var/www/discourse/vendor/bundle/ruby/2.7.0/gems/thor-1.1.0/lib/thor.rb:392:in `dispatch'
/var/www/discourse/vendor/bundle/ruby/2.7.0/gems/thor-1.1.0/lib/thor/base.rb:485:in `start'
script/discourse:290:in `<top (required)>'
/usr/local/lib/ruby/gems/2.7.0/gems/bundler-2.2.26/lib/bundler/cli/exec.rb:58:in `load'
/usr/local/lib/ruby/gems/2.7.0/gems/bundler-2.2.26/lib/bundler/cli/exec.rb:58:in `kernel_load'
/usr/local/lib/ruby/gems/2.7.0/gems/bundler-2.2.26/lib/bundler/cli/exec.rb:23:in `run'
/usr/local/lib/ruby/gems/2.7.0/gems/bundler-2.2.26/lib/bundler/cli.rb:477:in `exec'
/usr/local/lib/ruby/gems/2.7.0/gems/bundler-2.2.26/lib/bundler/vendor/thor/lib/thor/command.rb:27:in `run'
/usr/local/lib/ruby/gems/2.7.0/gems/bundler-2.2.26/lib/bundler/vendor/thor/lib/thor/invocation.rb:127:in `invoke_command'
/usr/local/lib/ruby/gems/2.7.0/gems/bundler-2.2.26/lib/bundler/vendor/thor/lib/thor.rb:392:in `dispatch'
/usr/local/lib/ruby/gems/2.7.0/gems/bundler-2.2.26/lib/bundler/cli.rb:31:in `dispatch'
/usr/local/lib/ruby/gems/2.7.0/gems/bundler-2.2.26/lib/bundler/vendor/thor/lib/thor/base.rb:485:in `start'
/usr/local/lib/ruby/gems/2.7.0/gems/bundler-2.2.26/lib/bundler/cli.rb:25:in `start'
/usr/local/lib/ruby/gems/2.7.0/gems/bundler-2.2.26/exe/bundle:49:in `block in <top (required)>'
/usr/local/lib/ruby/gems/2.7.0/gems/bundler-2.2.26/lib/bundler/friendly_errors.rb:128:in `with_friendly_errors'
/usr/local/lib/ruby/gems/2.7.0/gems/bundler-2.2.26/exe/bundle:37:in `<top (required)>'
/usr/local/bin/bundle:23:in `load'
/usr/local/bin/bundle:23:in `<main>'
Trying to rollback...
There was no need to rollback
Cleaning stuff up...
Removing tmp '/var/www/discourse/tmp/restores/default/2021-12-18-163225' directory...
Marking restore as finished...
Notifying 'system' of the end of the restore...
Finished!
[FAILED]
Restore done.
1 « J'aime »

Vous avez donc mis le fichier au mauvais endroit ou mal orthographié le nom du fichier. S’il s’agit de ce dernier cas, alors

discourse restore

Sans nom de fichier, il suggérera les fichiers disponibles.

Si vous faites un

discourse backup

Vous pouvez voir où il a placé le fichier. Je n’essaierai pas de taper le chemin correct sur mon téléphone.

1 « J'aime »

Non, j’ai fait comme c’est écrit ici :

Donc, si c’est le mauvais chemin, le tutoriel est faux. C’est pourquoi j’ai demandé où mettre le fichier.

Il est très facile de mal taper les choses. C’est pourquoi j’ai suggéré des moyens de tester que vous avez bien placé les choses. Avez-vous essayé

  discourse restore

Sans nom de fichier ?

Je vois ce que vous voulez dire. mais je l’ai fait exactement selon les instructions (sans faire d’erreur, j’ai copié les chemins), donc je demande si les instructions sont erronées ou si quelque chose a changé dans les chemins au cours des 2 dernières années.

Je vais réessayer, mais je devrai peut-être réinstaller Discourse à nouveau car maintenant je n’ai qu’un site vierge.

Je ne pense pas que vous puissiez copier-coller ce passage sans le modifier ?

1 « J'aime »

Je pense que le chemin de destination est le bon, sinon ils devraient dire où le déplacer exactement.

1 « J'aime »

Ah, je vois. J’ai lu votre message comme « Je n’aurais pas pu mal taper quoi que ce soit car je l’ai tout copié et collé du guide ». :slightly_smiling_face:

Je pourrais restaurer la sauvegarde avec discourse restore, mais certaines catégories sont manquantes, l’en-tête entier est manquant, je ne peux pas me connecter, le fichier app.yml est toujours le même qu’une installation fraîche et bien plus encore.
La sauvegarde datait du 06.12.21 et j’ai choisi de tout sauvegarder, mais la moitié des choses manquent.

Donc, pour moi, tout le processus de sauvegarde et de restauration est un désastre total !

Cela doit être incroyablement frustrant. Je vous présente mes sympathies.

Le fichier app.yml n’est pas inclus dans la sauvegarde Discourse. Vous devrez en copier un de votre ancienne instance, ou en modifier un nouveau.

2 « J'aime »

Cela devrait être dit au moment où la sauvegarde est créée (comme une information à la fin). Je n’ai pas accès à l’ancien fichier, et créer un nouveau fichier est possible, mais je ne me souviens pas des plugins que j’avais.

Mais alors, la question demeure : pourquoi certaines catégories et certains sujets sont-ils manquants, pourquoi l’en-tête est-il manquant et pourquoi ne puis-je pas me connecter.

Je n’en suis pas certain. :slightly_smiling_face: Avez-vous exécuté ./launcher discourse-setup sur votre nouvelle instance ?

Oui, bien sûr. Ou ne devrais-je pas le faire pour restaurer ? Ou voulez-vous dire après la restauration ?

J’ai pensé que cela pourrait combler certaines des lacunes, mais je ne suis pas sûr.

Il pourrait être utile de prendre le fichier de sauvegarde et de le restaurer sur une nouvelle instance Discourse avec un fichier app.yml mis à jour, et de voir si cela améliore les choses.

1 « J'aime »

C’était une nouvelle installation sur un nouveau serveur, et je pensais que le fichier app.yml était dans la sauvegarde, mais je me trompais. Je n’ai pas accès à l’ancienne instance de Discourse, il semble donc qu’il n’y ait aucun moyen de restaurer le fichier app.yml.

Vous pouvez modifier le fichier app.yml existant pour y ajouter ce qui vous semble manquer ? Je ne suis pas sûr de ce qui pourrait empêcher la copie des catégories ou des connexions ?

Avez-vous restauré un fichier de sauvegarde complet ? Celui dans le fil de discussion a bloqué à 40 %. Si vous avez restauré cette version, cela pourrait expliquer pourquoi la moitié de vos éléments sont manquants ?

Je ne fais que deviner à ce stade. :slightly_smiling_face: Désolé de ne pas avoir pu vous aider davantage.

Désolé que vous ayez eu autant de problèmes. Je ne peux pas expliquer comment cela a pu se produire.

Je n’arrive pas à imaginer qu’une sauvegarde ne restaure que certaines catégories. Si seules certaines catégories sont restaurées, alors c’est ce qu’il y a dans la sauvegarde que vous avez effectuée. Peut-être avez-vous une ancienne sauvegarde.

app.yml n’a rien à voir avec vos données, juste le nom d’hôte et d’autres éléments nécessaires à la configuration de Discourse. Vous pouvez restaurer n’importe quelle base de données sur n’importe quel site.

1 « J'aime »

Je vais réinstaller Discourse à nouveau (avec une nouvelle image de serveur) et tenter de restaurer la sauvegarde à nouveau.

Le blocage à 40 % s’est produit lors du téléchargement directement dans Discourse, après quoi j’ai copié la sauvegarde via SCP sur le serveur.

Oui, c’est vrai, mais je pensais que quelque chose d’important serait également sauvegardé. Maintenant, je ne sais plus quels plugins j’avais installés dans l’ancienne instance ni quels étaient leurs paramètres.
La sauvegarde date du 6 décembre de cette année, donc il y a seulement quelques jours.