Ce sujet a ensuite évolué vers ‘Restore Failing’ à partir du 4ème message, ce qui est le problème principal maintenant. Vous pouvez ignorer les 4 premiers messages.
J’ai configuré mes téléchargements vers Aws S3 il y a des années/dès le début.
Même si je n’ai jamais activé l’option pour inclure les téléchargements S3 dans mes sauvegardes (pour autant que je sache), hier, lorsque j’ai choisi d’inclure les ‘Téléchargements’ dans mes sauvegardes, j’ai obtenu ceci dans mes journaux :
Cela soulève quelques divergences curieuses, qui me laissent perplexe :
Hier soir, j’ai activé l’option dans mes paramètres d’administration pour inclure les ‘Téléchargements’ dans mes sauvegardes. Et lorsque j’ai consulté mon dossier local ‘Shared Uploads’ via WinScp, il ne contenait qu’une centaine de fichiers dans 1 seul dossier (aucun autre dossier 2x, 3x n’y existait, je peux partager des captures d’écran si nécessaire). Alors pourquoi les journaux de sauvegarde indiquent-ils que près de 3 000 fichiers ont été téléchargés. (‘Échec du téléchargement’ est un autre casse-tête/problème dans ces journaux, mais c’est un autre sujet). Maintenant, s’il télécharge ces fichiers à partir du stockage local, où existent tous ces fichiers ? Et s’il télécharge depuis S3, alors a, pourquoi télécharge-t-il depuis là, car je n’ai jamais modifié cette option dans la console Rails pour inclure les données S3 dans les sauvegardes, ni créé d’option similaire dans la section Env de mon fichier yml.
Puis aujourd’hui, j’ai changé cette option dans la console Rails à ‘True’. Et maintenant, lorsque j’ai exécuté la tâche de sauvegarde, elle a montré les mêmes quelque 3,2k fichiers téléchargés, environ 100 ‘Échec du téléchargement’. Mais lorsque j’ai vérifié dans mon bucket Aws S3, il y avait près de 10 fois plus, 32k fichiers d’environ 3 Go. Alors pourquoi ne télécharge-t-il pas tous ces fichiers ?
N’y a-t-il pas un moyen de totaliser/synchroniser toutes ces données, et éventuellement, de savoir quelles divergences se produisent et où ?
Maintenant, je suis très perplexe, que dois-je faire. Mon objectif ultime est de déplacer mon stockage AWS (trop coûteux) vers une version moins chère (Hetzner lui-même, où mon VPS est exécuté, est très très peu cher, donc je peux également augmenter le stockage de mon serveur principal).
Merci. S’il vous plaît, guidez-moi dans une direction.
Même lorsque mon dossier « Uploads » (dans le compartiment Aws S3) dépasse 3 Go (3,2k fichiers), pourquoi les sauvegardes ne font-elles qu’un peu moins de 1 Go (avec seulement 2,9k fichiers téléchargés dans la sauvegarde), même après avoir activé l’option « include_s3_uploads_in_backup » via la console Rails ?
Ce paramètre télécharge les fichiers dans un répertoire temporaire et les inclut dans la sauvegarde. Il ne les place pas dans le répertoire des téléversements. Pour les avoir dans le répertoire des téléversements, vous devez restaurer la sauvegarde. Je le ferais sur un nouveau serveur afin que, si quelque chose tourne mal, votre serveur d’origine soit toujours intact.
Il semble que certains fichiers soient manquants. Avez-vous des publications avec des images manquantes ? Une autre possibilité est que la table des téléversements inclue des téléversements qui ne sont plus référencés dans les publications, donc ces images manquantes n’ont pas d’importance.
S’il n’y en a qu’une centaine environ, ce n’est probablement pas très grave.
Ou il se pourrait qu’un bug ait nettoyé (supprimé) à un moment donné des fichiers qui auraient dû être conservés.
Pour voir les fichiers qu’il a téléchargés, vous devrez télécharger le fichier de sauvegarde et voir ce qu’il contient. Restaurez votre sauvegarde sur un nouveau serveur pour voir comment cela fonctionne.
Mais le point principal est de savoir pourquoi la sauvegarde fait à peine 1 Go (avec seulement 3100 fichiers) alors que le dossier « Uploads » de S3 seul fait 3,2 Go et 32K fichiers. (les journaux de sauvegarde montrent clairement qu’il n’a téléchargé qu’environ 10 %, 3 k fichiers).
[Je trouve très fastidieux de créer une nouvelle configuration Discourse avec un domaine différent pour tester cela, bien que je trouve très facile de créer un instantané puis, si nécessaire, de restaurer mon site, très peu fréquenté, en 5 minutes sans aucun problème]
Eh bien, j’ai pensé que même après avoir changé l’option dans Rails C, pourquoi ne pas ajouter cette ligne dans yml également DISCOURSE_INCLUDE_S3_UPLOADS_IN_BACKUPS: true en pensant que cela pourrait appeler toutes mes téléversements depuis Aws S3.
Mais après avoir changé cette option dans yml, reconstruit le conteneur, lancé la sauvegarde, j’ai trouvé les mêmes lignes dans les journaux de sauvegarde (3000 téléchargements de médias avec environ 100 échecs).
Et quand j’ai essayé de restaurer (je n’ai pas encore changé les paramètres de téléversement/S3 dans mes paramètres d’administrateur), cela a donné une erreur.
Journal complet :

J’ai donc désactivé les téléchargements S3, puis j’ai essayé de restaurer ma sauvegarde de 1 Go (la sauvegarde est toujours sur Aws S3), et cela a encore échoué. Qu’est-ce qui pourrait mal se passer ici ?
De plus, après l’échec de la restauration, j’ai été déconnecté et lorsque je me suis reconnecté, une bannière m’a indiqué que tous les e-mails non-staff étaient désactivés. Et lorsque j’ai essayé d’accéder au journal à partir du lien reçu par e-mail, ce fichier est introuvable/inaccessible (ma page d’erreur définie s’affiche).
Lorsque j’essayais de restaurer, juste avant d’être déconnecté, je voyais ces messages de journalisation :
[2024-08-19 04:12:58] 'Bathinda_Helper' a commencé la restauration !
[2024-08-19 04:12:58] Marquage de la restauration comme en cours...
[2024-08-19 04:12:58] Vérification de l'existence de /var/www/discourse/tmp/restores/default/2024-08-19-041258...
[2024-08-19 04:12:59] Téléchargement de l'archive dans le répertoire tmp...
Lors d’une tentative ultérieure de « FAILED-restore », j’ai pu cliquer sur le lien du journal juste avant d’être déconnecté. Le voici : log- failed restore.txt (98.9 Ko)
J’ai fait quelques expériences qui montrent que de nouvelles sauvegardes sont bien créées sur mon serveur Ubuntu local. Mais la restauration depuis S3 vers le local échoue. Cependant, quelques publications que j’ai vérifiées continuent d’afficher les images depuis S3 (celles-ci ne manquent pas).
Aidez-moi svp. La restauration échoue encore et encore.
De plus, après un « Échec de la restauration », même lorsque je me connecte avec le même administrateur, je ne peux pas accéder à la pièce jointe « Log.txt ». Elle affiche une page indisponible / une page d’erreur de ma configuration à la place.
Vous restaurez à partir du conteneur web_only comme vous le faites.
Vous avez activé la restauration avec succès dans la première commande (je ne sais pas pourquoi vous essaieriez de le faire à nouveau d’une autre manière), faites maintenant
En fait, j’ai essayé de faire exactement la même chose que sur vos captures d’écran dans le message auquel vous faites référence juste au-dessus. Quoi qu’il en soit, je vais maintenant faire uniquement cette « restauration Discourse ».
Si j’ai bien compris/j’espère, je n’ai pas besoin de spécifier de chemin vers le fichier de sauvegarde (.tz) qui se trouve n’importe où, il le récupérera automatiquement dans mon dossier de sauvegarde de serveur local.