Bonjour 'Nal,
Permets-moi de te raconter une histoire d'horreur. Il était une fois, moi, hier soir, qui voulais mettre à jour mon serveur Mastodon personnel (avec un unique compte, le mien), pour bénéficier enfin d'une certaine fonctionnalité.
Avant toute chose, je fais une sauvegarde de la base de données au cas où il y ait un pépin pendant la migration. Comme je ne compte pas la sauvegarder au-delà, erreur du débutant, je la place dans /tmp
, que j'ai l'habitude d'utiliser pour placer mes fichiers temporaires. Tu vois venir le coup.
Je lis les notes de version. Je constate que la version minimum requise de plusieurs dépendances a augmenté. Je lance un sudo apt upgrade
complet : après tout, le serveur a besoin d'une mise à jour générale. L'opération prend un bon quart d'heure pendant lequel je fais autre chose, et je ne pense plus à la sauvegarde.
L'attente passée, je constate que le noyau Linux est aussi mis à jour. Pour que la machine se mette à utiliser la nouvelle version du noyau, je redémarre.
Une fois la machine de nouveau en route, je vérifie que tous les services sont en état de marche. Je constate que Mastodon affiche une page d'erreur. Allons-bon, me dis-je, j'ai dû casser quelque chose avec cette mise à jour, il y a peut-être un module qui doit être recompilé ou un problème de ce genre. Je lis dans les logs que le serveur n'arrive pas à établir de connexion avec la base de données.
Légèrement inquiet, je fais machinalement ls /tmp/
pour vérifier que ma sauvegarde est bien là. Je commence à frissonner en réalisant que j'ai redémarré entre-temps, donc /tmp/
a été vidé. Soit, il n'y a plus de sauvegarde. Mais qu'est-il arrivé à la base de données elle-même ?
C'est en relisant mon historique de commandes avec Control R et dans ~/.bash_history
que j'ai eu le fin mot de l'histoire. Pour sauvegarder la base de données, j'étais passé à l'utilisateur postgres
afin de pouvoir exécuter pg_dump
. Comme j'étais encore dans /root/
, où postgres
n'avait pas les droits d'accès, j'ai fait pwd
, pensant atterrir dans /home/postgres/
, mais je me suis rendu compte ensuite que j'étais en fait dans /var/lib/postgresql/
. C'est à ce moment que j'ai voulu déplacer la sauvegarde. Le hic : par inadvertance, au lieu de déplacer /var/lib/postgresql/mastodon-backup.sql
dans /tmp/
, j'ai déplacé le dossier /var/lib/postgresql/
entier. La base de données était dedans.
C'est officiel : je suis un boulet.
# Welcome to club !
Posté par Prae . Évalué à 5 (+3/-0).
T'inquiètes, on a tous été, un moment ou un autre dans notre carrière, un boulet :)
Bienvenue au club, buddy !
Envoyer un commentaire
Suivre le flux des commentaires
Note : les commentaires appartiennent à celles et ceux qui les ont postés. Nous n’en sommes pas responsables.