Mes serveurs YunoHost
Matériel: Deux VPS en ligne
Version de YunoHost: :
# yunohost --version
yunohost:
repo: stable
version: 11.2.22
yunohost-admin:
repo: stable
version: 11.2.7
moulinette:
repo: stable
version: 11.2.1
ssowat:
repo: stable
version: 11.2.1.1
J’ai accès à mes serveurs : En SSH et par la webadmin
Êtes-vous dans un contexte particulier ou avez-vous effectué des modifications particulières sur vos instances ? : Non, à part les mises à jours régulières.
Description du problème
Après avoir eu des soucis de lock avec borg (voir : borg qui ne fonctionne plus (“lock”)), voilà que j’ai à nouveau des problèmes avec les backups.
Tout d’abord j’ai eu des soucis après une mise à jour de l’app borg parce qu’il avait changé le script de sauvegarde et à nouveau effacé le port que j’utilise. Ça, j’ai corrigé.
Maintenant on dirait qu’il ne trouve pas l’application borg :
# cat /var/log/borg/240722_0000.err
Failed to format translated string 'backup_applying_method_custom': 'Calling the custom backup method '{method}'…' 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}'…' with arguments '()' and '{}', raising error: KeyError('method') (don't panic this is just a warning)
Remote: bash: line 1: borg: command not found
Remote: bash: line 1: borg: command not found
Could not run script: /etc/yunohost/hooks.d/backup_method/05-borg_app
Custom backup method could not get past the 'backup' step
Failed to format translated string 'backup_applying_method_custom': 'Calling the custom backup method '{method}'…' 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}'…' with arguments '()' and '{}', raising error: KeyError('method') (don't panic this is just a warning)
Remote: bash: line 1: borg: command not found
Remote: bash: line 1: borg: command not found
Effectivement, que ça soit sur le premier serveur ou sur le second, je ne trouve pas borg :
# whereis borg
borg:
Le service est planté sur les deux serveurs :
root@serveurA:~# systemctl status borg
● borg.service - Run backup borg
Loaded: loaded (/etc/systemd/system/borg.service; static)
Active: failed (Result: exit-code) since Mon 2024-07-22 00:04:46 UTC; 8h ago
TriggeredBy: ● borg.timer
Process: 952189 ExecStart=/usr/bin/sudo /var/www/borg/backup-with-borg borg (code=exited,>
Main PID: 952189 (code=exited, status=1/FAILURE)
CPU: 3min 50.609s
root@serveurB:~# systemctl status borg
● borg.service - Run backup borg
Loaded: loaded (/etc/systemd/system/borg.service; static)
Active: failed (Result: exit-code) since Mon 2024-07-22 00:29:47 UTC; 7h ago
TriggeredBy: ● borg.timer
Process: 36339 ExecStart=/usr/bin/sudo /var/www/borg/backup-with-borg borg (code=exited, >
Main PID: 36339 (code=exited, status=1/FAILURE)
CPU: 5min 26.704s
En regardant le process lancé par les services, je réalise que Borg est dans ce dossier :
# ls -al /var/www/borg/venv/bin/
total 32
drwxr-xr-x 2 borg borg 4096 May 31 08:30 .
drwxr-xr-x 6 borg borg 4096 May 31 08:19 ..
-rwxr-xr-x 1 borg borg 226 May 31 08:30 borg
-rwxr-xr-x 1 borg borg 226 May 31 08:30 borgfs
-rwxr-xr-x 1 borg borg 235 May 31 08:19 pip
-rwxr-xr-x 1 borg borg 235 May 31 08:19 pip3
-rwxr-xr-x 1 borg borg 235 May 31 08:19 pip3.9
lrwxrwxrwx 1 borg borg 7 May 31 08:19 python -> python3
lrwxrwxrwx 1 borg borg 16 May 31 08:19 python3 -> /usr/bin/python3
lrwxrwxrwx 1 borg borg 7 May 31 08:19 python3.9 -> python3
-rwxr-xr-x 1 borg borg 222 May 31 08:19 wheel
Sauf que les utilisateurs userA sur le serveurB et userB sur le serveurA n’ont probablement pas ce dossier dans leur $PATH ?
Par exemple, si je suis sur le serveurA, qui reçoit les backups du serveurB et qui a un utilisateur userB pour cette tache :
root@serveurA:~# su userB
userB@serveurA:~$ whereis borg
borg:
userB@serveurA:~$ ls -al /var/www/borg/venv/bin
ls: cannot access '/var/www/borg/venv/bin': Permission denied
J’ai l’impression que ça ne peut pas marcher… Comment résoudre ce problème proprement ?
Je pourrais ajouter “/var/www/borg/venv/bin” dans le $PATH de userB et modifier les droits pour qu’il ait accès au programme. Mais ça va probablement se faire écraser par la prochaine mise à jour de borgserver-ynh ?
(En cours d’investigation…)