[Backups] Les backups automatiques avec Borg ne marchent plus depuis l'upgrade en 4.2.4

Bonjour,

Je rencontre des soucis de backups depuis une quinzaine de jours et la mise à jour sur Yunohost 4.2.4. Je cherche depuis ce matin sans trouver une solution. Voici les détails.

Mon serveur YunoHost

Matériel: VPS chez Kimsufi.
Version de YunoHost:

    yunohost: 
      repo: stable
      version: 4.2.4
    yunohost-admin: 
      repo: stable
      version: 4.2.2
    moulinette: 
      repo: stable
      version: 4.2.2
    ssowat: 
      repo: stable
      version: 4.2.2

J’ai accès à mon serveur : En SSH et par la webadmin
Êtes-vous dans un contexte particulier ou avez-vous effectué des modificiations particulières sur votre instance ? : Mise à jour sur Yunohost v4.2.4 le …/05/2021.

Description du problème

Les backups automatiques ne fonctionnent plus depuis le serveurA vers le serveurB alors qu’ils marchaient très bien avant la dernière mise à jour. Les backups du serveurB vers le serveurA fonctionnent correctement.

J’ai vérifié les clés SSH, ça semble cohérent.
J’ai essayé de lancer manuellement un backup, ça ne marche pas mieux.

Dans les logs, j’ai ces lignes qui se répètent :

root@artanux:/home/admin# tail -n 100 /var/log/borg/210521_0000.err 
(...)
Remote: Debian GNU/Linux 10
A repository already exists at ssh://fagus@simonlefort.be/~/backup.
Échec de l’exécution du script : /etc/yunohost/hooks.d/backup_method/05-borg_app
Échec de la méthode de sauvegarde personnalisée à l’étape 'backup'
/bin/sh: BASH_XTRACEFD : 7 : valeur non valable pour un descripteur de fichier de trace
Failed to format translated string 'backup_applying_method_custom': 'Appel de la méthode de sauvegarde personnalisée '{method:s}'...' with arguments '()' and '{}, raising error: KeyError('method') (don't panic this is just a warning)
Failed to format translatable string 'backup_applying_method_custom': 'Calling the custom backup method '{method:s}'...' with arguments '()' and '{}', raising  error: KeyError('method') (don't panic this is just a warning)
/bin/sh: BASH_XTRACEFD : 7 : valeur non valable pour un descripteur de fichier de trace
/bin/sh: BASH_XTRACEFD : 7 : valeur non valable pour un descripteur de fichier de trace

Quand je regarde les logs via yunohost :

# yunohost log share 20210524-114021-backup_create
(...)
2021-05-24 11:40:34,210: DEBUG - + borg init -e repokey ssh://serveurA@TLD.COM/~/backup
2021-05-24 11:40:35,754: WARNING - Remote: Debian GNU/Linux 10
2021-05-24 11:40:37,847: WARNING - A repository already exists at ssh://serveurA@TLD.COM/~/backup.
2021-05-24 11:40:37,940: DEBUG - + set -e
2021-05-24 11:40:37,943: DEBUG - + borg create ssh://serveurA@TLD.COM/~/backup::_auto_data-2021-05-24_11:40 ./
2021-05-24 11:40:37,943: DEBUG - + log_with_timestamp
2021-05-24 11:40:37,944: DEBUG - ++ date +%Y-%m-%d_%H:%M:%S
2021-05-24 11:40:37,946: DEBUG - + sed -e 's/^/[2021-05-24_11:40:37] /'
2021-05-24 11:40:41,741: ERROR - Could not run script: /etc/yunohost/hooks.d/backup_method/05-borg_app
Traceback (most recent call last):
  File "/usr/lib/moulinette/yunohost/hook.py", line 307, in hook_callback
    path, args=hook_args, chdir=chdir, env=env, raise_on_error=True
  File "/usr/lib/moulinette/yunohost/hook.py", line 386, in hook_exec
    raise YunohostError("hook_exec_failed", path=path)
yunohost.utils.error.YunohostError: Could not run script: /etc/yunohost/hooks.d/backup_method/05-borg_app

Le forum me renvoie une erreur 500 quand j’essaye d’éditer le message initial. Décidément, c’est pas ma journée. :sweat_smile:

Je continue de chercher et vérifier tout ce que je peux mais si vous avez des pistes, ça m’intéresse. :slight_smile:

Merci d’avance!

Est-ce que tu as bien mis à jour les apps borg et borgserver

Salut @Aleks !

Oui, tout est bien à jour.

Sur les deux serveurs, je suis en version “1.1.16~ynh20”

$ sudo yunohost app info borg
(...)
version: 1.1.16~ynh20

Donc le problème ne doit pas venir de là. :-/

Quid de borgserver …

(Pardon pour le temps de réaction…)

Sur les deux serveurs :

$ sudo yunohost app info borgserver
description: Offer backup storage to a friend.
name: Borg Server pour serveurA
version: 1.1.16~ynh5
$ borg --version
borg 1.1.16

Les versions sont identiques des deux côtés. Les deux sont sur Debian 10.9.

As-tu une autre piste que je peux vérifier ?

Ok alors regardons la sortie de:

tail -n 100 /var/log/backup_borg.err

Sur le serveurA (qui n’arrive pas à faire le backup) :

$ sudo tail -n 100 /var/log/backup_borg.err
[2021-05-24_08:55:32] Borg server: SSH_ORIGINAL_COMMAND: 'borg serve --umask=077'
[2021-05-24_08:55:32] Platform: Linux artanux.be 4.19.62-mod-std-ipv6-64-rescue #828825 SMP Tue Jul 30 13:54:49 UTC 2019 x86_64
[2021-05-24_08:55:32] Linux: debian 10.9 
[2021-05-24_08:55:32] Borg: 1.1.16  Python: CPython 3.7.3 msgpack: 0.5.6.+borg1
[2021-05-24_08:55:32] PID: 13062  CWD: /home/yunohost.backup/tmp/auto_element
[2021-05-24_08:55:32] sys.argv: ['/opt/borg-env/bin/borg', 'create', 'ssh://fagus@simonlefort.be/~/backup::_auto_element-2021-05-24_08:55', './']
[2021-05-24_08:55:32] SSH_ORIGINAL_COMMAND: None
[2021-05-24_08:55:32] 
[2021-05-24_08:55:55] Remote: Debian GNU/Linux 10
[2021-05-24_08:55:55] passphrase supplied in BORG_PASSPHRASE, by BORG_PASSCOMMAND or via BORG_PASSPHRASE_FD is incorrect.
(+ les trois dernières lignes en boucle)

Sur le serveurB (qui arrive à bien faire son backup sur le serveurA) :

[2021-05-26_00:08:55] Remote: 
[2021-05-26_00:08:55] Remote:   __   __  __   __  __    _  _______  __   __  _______  _______  _______
[2021-05-26_00:08:55] Remote:  |  | |  ||  | |  ||  |  | ||       ||  | |  ||       ||       ||       |
[2021-05-26_00:08:55] Remote:  |  |_|  ||  | |  ||   |_| ||   _   ||  |_|  ||   _   ||  _____||_     _|
[2021-05-26_00:08:55] Remote:  |       ||  |_|  ||       ||  | |  ||       ||  | |  || |_____   |   |
[2021-05-26_00:08:55] Remote:  |_     _||       ||  _    ||  |_|  ||   _   ||  |_|  ||_____  |  |   |
[2021-05-26_00:08:55] Remote:    |   |  |       || | |   ||       ||  | |  ||       | _____| |  |   |
[2021-05-26_00:08:55] Remote:    |___|  |_______||_|  |__||_______||__| |__||_______||_______|  |___|
[2021-05-26_00:08:55] Remote: 
[2021-05-26_00:08:55] Remote:  Local IP: XX.YY.ZZ.WW
[2021-05-26_00:08:55] Remote:  Local SSL CA X509 fingerprint:
[2021-05-26_00:08:55] Remote:    58:CE:64:D9:AE:C8:57:EF:25:D4:EA:DC:1E:77:F8:B7:99:05:35:6C:F9:96:01:A0:E8:3E:98:8E:5B:7B:94:23
[2021-05-26_00:08:55] Remote:  SSH fingerprints:
[2021-05-26_00:08:55] Remote:   - SHA256:lGPX2BwNl8nxrY34u4CpsjwZKHEjgU8KlYfwOTbfkcA (ECDSA)
[2021-05-26_00:08:55] Remote:   - SHA256:C7RGzitcbLhLqE1nPN0f5guF26nhkNgPzli+mE0rSxU (ED25519)
[2021-05-26_00:08:55] Remote:   - SHA256:7l1MsQUEfgWhknr+k5u27kAZ9MZfLXoBM7WnhPDGj4A (RSA)

Un problème avec la BORG_PASSPHRASE ? J’ai essayé de reprendre les commandes du script dans l’ordre et il sait bien récupérer la passphrase avec cette commande :

BORG_PASSPHRASE="$(yunohost app setting borg passphrase)"

Merci pour tes pistes et ton aide. :slight_smile:

Peux-tu vérifier que ta passphrase est ok (surtout ne publie pas la passphrase ici):

yunohost app setting borg passphrase

Y-a-t’il des caractères spéciaux type $ ou " dedans ?

Nondenom!!

Il y avait bien une erreur dans la passphrase ! J’avais regardé mais manifestement pas assez attentivement…

La passphrase qui marche pour voir les backups sur le serveurB est plus courte que celle que celle renvoyée par la commande

$ sudo yunohost app setting borg passphrase

J’ai remis la bonne passphrase avec cette commande :

$ sudo yunohost app setting borg passphrase -v 'magrossepassphrase'

La passphrase a été initialement générée avec Bitwarden, il y a un bout avec un truc genre ça “$b7rjkq” qui a disparu dans l’aventure… (Interprété comme une variable probablement!)

Ce qui est fou, c’est que ça marchait (puisque j’ai des backups jusqu’au 13/05) et pourtant, j’avais bien tenu compte de ce problème puisque dans mon gestionnaire de mot de passe j’avais la passphrase “raccourcie”… :woozy_face:

J’ai relancé Borg, il a commencé à faire des backups!
Je vois sur le serveurB que j’ai des backups à la date d’aujourd’hui.

Merci @ljf et @Aleks ! Problème résolu !

This topic was automatically closed 30 days after the last reply. New replies are no longer allowed.