🏳️🌈♿️👩🎨🌱 En février, je remets 3% de mes ventes à des organismes qui favorisent la diversité, les arts et l'environnement 🏳️🌈♿️👩🎨🌱
Manuel d'alchimie du code
Restauration d'une application avec Borg
Introduction:
Dans cet article, nous allons montrer comment effectuer la restauration de l'application Piwigo, un album de photo inclus dans le système Yunohost, archivée à l'aide de Borg.
Problème avec Piwigo
En juin dernier, j'ai désinstallé l'application Piwigo de mon instance Yunohost publique, car elle générait constamment des messages d'erreur et faisait planter mes sauvegardes.
J'ai communiqué mon problème avec l'équipe de développement. Un membre m'est rapidement revenu avec une solution et en a profité pour améliorer la prise en charge de la mise à jour vers la nouvelle version.
Aujourd'hui, je me suis dit qu'avec l'approche des vacances, je devrais remettre en place ma galerie photo.
Borg à la rescousse
Comme j'utilise le système Borg pour effectuer mes sauvegardes, j'ai pu facilement récupérer l'archive la plus récente de l'application. Puis la mettre à jour avec le correctif proposé.
Voici les étapes pour restaurer la sauvegarde depuis Borg. Notez que pour utiliser Borg, nous utiliserons deux mots de passe.
- Le premier est pour le transfert des fichiers par SSH, c'est un mot de passe pour le serveur distant où est située la sauvegarde.
- Le second est pour décrypter les fichiers de sauvegarde. C'est un mot de passe utilisé localement.
Ce système avec deux mots de passe est nommé no knowledge. Notre hébergeur de sauvegarde ne sait pas ce que nous entreposons sur son système. Il ne pourra jamais le décrypter, puisqu'il ne voit jamais la clé.
En reprenant la syntaxe utilisée dans mon article précédent, je liste la sauvegarde la plus récente de Piwigo:
nom_backup=$(borg list ${RSYNC_USER}@${RSYNC_SUB}.rsync.net:~/backup | \
grep piwigo | \
tail -n 1 | \
cut -d" " -f1)
Ensuite, je vais exporter cette sauvegarde et la rapatrier dans mon répertoire d'archives locales sur le serveur Yunohost
BORG_RSH="ssh -i /root/.ssh/id_borg_ed25519 -oStrictHostKeyChecking=yes" \
borg export-tar \
${RSYNC_USER}@${RSYNC_SUB}.rsync.net:backup::${nom_backup} \
/home/yunohost.backup/archives/${nom_backup}.tar.gz
Je vais maintenant utiliser l'interface en ligne de commandes de Yunohost pour restaurer mon application
sudo yunohost backup restore ${nom_backup} --apps
Voici le résultat de la restauration de la sauvegarde
Info: Preparing archive for restoration...
Info: Restoring piwigo...
Info: [....................] > Loading settings...
Info: [....................] > Validating restoration parameters...
Info: [+...................] > Restoring Piwigo main directory...
Info: [#...................] > Restoring the MySQL database...
Info: [#+..................] > Recreating the dedicated system user...
Info: [##+++...............] > Reconfiguring PHP-FPM...
Info: [#####++.............] > Restoring the Fail2Ban configuration...
Info: [#######+++++++++++..] > Reinstalling dependencies...
Info: [##################+.] > Restoring data directory...
Info: [###################.] > Reloading NGINX web server and PHP-FPM...
Info: [####################] > Restoration completed for Piwigo
Success ! Restoration completed
Je vais exécuter la ligne fournie par l'équipe de développement pour résoudre mon enjeu.
sudo yunohost app setting piwigo datapath -v "/home/yunohost.app/piwigo"
Voici le billet, pour les curieux !
Je vais maintenant effectuer la mise à jour de l'application
sudo yunohost tools upgrade apps
Ma galerie photo est maintenant à jour.