Vers le début du mois de mars, mes sauvegardes Discourse ont cessé de s’exécuter.
Les paramètres n’ont pas été modifiés, bien qu’il y ait probablement eu une mise à niveau de Discourse.
Les sauvegardes sont effectuées sur un stockage local. À part les paramètres limitant le nombre maximal de sauvegardes à 3 et la fréquence des sauvegardes à 3, tous les autres paramètres sont définis par défaut.
Je peux effectuer une sauvegarde manuelle, ce qui fonctionne. Cependant, j’ai remarqué que la sauvegarde est maintenant au format sql.gz, alors qu’auparavant c’était un fichier tar.gz.
Mais les sauvegardes automatiques ne s’exécutent pas, semblent s’exécuter, et je ne reçois aucun rapport d’erreur. L’onglet Sauvegardes affiche « Aucune sauvegarde disponible. » (y compris la sauvegarde manuelle que j’ai effectuée il y a quelques jours, qui a maintenant disparu), et Sauvegardes ➤ Journaux indique « Aucun journal pour le moment… ».
J’ai essayé de redémarrer le serveur (l’ensemble du Droplet DigitalOcean), mais cela n’a pas permis de relancer les sauvegardes automatiques.
La version indique que je suis à jour avec la version 2.6.3 (j’utilise la branche stable, pas la branche la plus récente).
C’est à prévoir tant que tous vos fichiers uploadés sont stockés sur S3. Dans ce cas, le fichier de sauvegarde n’est qu’un dump de base de données compressé.
Veuillez consulter /logs. Y a-t-il des erreurs qui pourraient être liées aux sauvegardes ?
Vérifiez également /u/system/messages/sent pour voir si le système a envoyé des MP concernant des sauvegardes échouées. Il y avait un bug qui empêchait les administrateurs de recevoir des notifications concernant ces MP dans certaines circonstances.
Il est un peu inquiétant que la sauvegarde manuelle ait également disparu. Je ne suis pas sûr de savoir comment cela a pu arriver, puisque vous avez défini maximum_backups à 3. Avez-vous configuré un cronjob ou un script qui déplace/supprime les sauvegardes ou qui ne fonctionne pas avec la nouvelle extension de fichier (sql.gz au lieu de tar.gz) ?
Les fichiers de sauvegarde sont-ils vraiment absents ? Que donne la commande ls /var/discourse/shared/standalone/backups/default ?
C’est normal. Les logs affichent uniquement la sortie des sauvegardes manuelles.
Je viens de vérifier, il n’y a eu aucun changement pertinent dans le code de sauvegarde depuis la sortie de la version 2.6.
Aucun de mes téléchargements n’est stocké sur S3, ils sont tous stockés localement.
Pas que je sache. Je vois le même bazar habituel de TypeErrors, mais je les ai toujours vus. La recherche de « backup » ne trouve rien d’autre que des TypeErrors liés aux pages web des sujets du forum qui contiennent par hasard le mot « backup ».
Oh, regardez, il y a plein de messages « Backup failed » — pourquoi ne suis-je pas alerté de ceux-ci ?
Bon, eh bien, je ne sais pas pourquoi je ne les reçois jamais sous forme de rapport, mais cela donne l’erreur :
[2021-04-08 03:35:35] Suppression du répertoire temporaire ‘/var/www/discourse/tmp/backups/default/2021-04-08-033313’…
[2021-04-08 03:35:35] Compression de l’archive avec gzip, cela peut prendre un certain temps…
[2021-04-08 03:38:49] EXCEPTION : lib/discourse.rb:92:in `exec’: Échec de la compression gzip de l’archive.
En fait, il s’agit d’un script externe : il copie la sauvegarde vers une autre machine pour un stockage permanent et la supprime pour libérer de l’espace sur le serveur (bien que visiblement pas assez d’espace).
Donc, les questions restantes :
Pourquoi ne reçois-je aucune alerte pour ces messages d’erreur ?
Pourquoi la sauvegarde manuelle est-elle un fichier .sql.gz alors que la sauvegarde réelle est un fichier .tar.gz (les deux devraient inclure les téléchargements, qui sont locaux) ?
Pourquoi la sauvegarde manuelle fonctionne-t-elle alors que la sauvegarde automatique manque d’espace (probablement lié, peut-être que la sauvegarde manuelle n’inclut pas réellement les téléchargements, et est donc plus petite, bien qu’elle semble avoir la bonne taille) ?
Et la question évidente : je me demande comment je vais créer un peu d’espace supplémentaire sur le serveur ? [Edit : ok, l’exécution de ./launcher cleanup a libéré 15 Go d’espace, ce qui devrait faire la différence].
Bon, au moins maintenant je sais quel est le problème. J’aimerais vraiment connaître la réponse à la première question, car je devrais évidemment être informé de cela. À qui ces messages sont-ils envoyés par e-mail ou qui est alerté ? Comment puis-je m’assurer d’en être informé à l’avenir ?
Comme je l’ai mentionné, un bug a été corrigé dans l’une des versions bêta récentes.
Vous avez probablement choisi de créer une sauvegarde manuelle sans uploads dans la boîte de dialogue qui s’affiche lorsque vous créez une sauvegarde dans l’interface utilisateur.
Merci, tout est donc bon. Je vérifierai à nouveau la sauvegarde et confirmerai que j’ai cliqué sur le mauvais bouton lors de la création des sauvegardes.