Ceci est une ancienne révision du document !
Table des matières
Sauvegarder Yunohost
À l'aide des applications Borg
Une des solution pour sauvegarder votre serveur consiste à utiliser les applications borg
Cette solution consiste à sauvegarder son serveur yunohost sur un autre serveur yunohost. Il y a donc deux applications, une application “client” ( Borg Backup App ) et une application “serveur” ( Borg Server ).
Borg Server a besoin d'un clé publique générée à l'installation de Borg Backup App. On commence donc par installer l'application cliente.
Dans mon exemple, je vais sauvegarder le serveur quercus sur fagus.
Installation de Borg Backup App
J'installe sur mon serveur quercus l'application cliente, Borg Backup App.
J'ai besoin :
- De choisir un libellé (Optionnel, pratique surtout si on veut mettre en place plusieurs backups)
- De configurer l'url du serveur ( Ici, l'URL principale de fagus est “artanux.be”.)
- De choisir le nom d'utilisateur qui sera utilisé pour se connecter au serveur distant. Je choisis donc le nom du serveur, quercus.
- Choisir une phrase de passe pour chiffrer les sauvegardes (important!)
- Choisir enfin ce que l'on souhaite sauvegarder et à quelle fréquence
Une paire de clé ssh est générée à l'installation de l'application.
root@quercus:~# ls -al /root/.ssh/ total 16 drwx------ 2 root root 4096 Aug 12 19:37 . drwx------ 4 root root 4096 Aug 11 07:23 .. -rw------- 1 root root 0 Aug 8 09:15 authorized_keys -rw------- 1 root root 411 Aug 12 19:37 id_borg_ed25519 -rw-r--r-- 1 root root 101 Aug 12 19:37 id_borg_ed25519.pub root@quercus:~# cat /root/.ssh/id_borg_ed25519.pub ssh-ed25519 AAAA(...)
Cette clé est également envoyée par mail à l'administrateur du serveur.
Installation de Borg Server
Une fois la partie cliente installée, passons à l'installation de la partie serveur, l'application Borg Server.
Il faudra configurer :
- Un libellé, surtout pratique si on héberge les sauvegardes de plusieurs serveurs
- De configurer le nom d'utilisateur choisi à l'installation de la partie cliente (ici: quercus)
- De configurer la clé ssh publique générée à l'installation de la partie cliente
- De choisir un quota de stockage, pour ne pas risquer de saturer votre serveur
L'application crée un utilisateur et place la clé ssh publique dans authorized_keys, avec une limitation sur la commande pouvant être utilisée :
root@artanux:/home# cat /home/quercus/.ssh/authorized_keys command="borg serve --storage-quota 500G --restrict-to-repository /home/quercus/backup",no-pty,no-agent-forwarding,no-port-forwarding,no-X11-forwarding,no-user-rc ssh-ed25519 AAAA(...)
Lancer manuellement le backup
Sur le serveur à sauvegarder, où on a installé l'application Borg Backup App, on peut manuellement lancer une sauvegarde en démarrant le service :
# systemctl start borg
En cas de problème
Quelques pistes si ça ne fonctionne pas :
- Vérifier les logs
admin@simonlefort:~$ ls -al /var/log/backup* -rw-r--r-- 1 root root 18317 Aug 13 00:01 /var/log/backup_borg.err -rw-r--r-- 1 root root 0 Aug 12 20:53 /var/log/backup_borg.log
Une erreur possible :
Remote: Remote: Remote: Server : 465812 Remote: IPv4 : WW.XX.YY.ZZ Remote: IPv6 : WWWW:XXXX:YYYY:ZZZZ Remote: Hostname : machin.com Remote: Remote: bash: /usr/local/bin/borg: Permission denied Connection closed by remote host. Is borg working on the server?
- Vérifier les erreurs données au lancement du service
# systemctl status --lines 100 borg ● borg.service - Run backup borg Loaded: loaded (/etc/systemd/system/borg.service; enabled; vendor preset: enabled) Active: failed (Result: exit-code) since Thu 2020-08-13 00:01:16 UTC; 9h ago Main PID: 31654 (code=exited, status=1/FAILURE) Aug 13 00:00:03 simonlefort.be systemd[1]: Starting Run backup borg... Aug 13 00:00:05 simonlefort.be backup-with-borg[31654]: ls: cannot access '/etc/yunohost/hooks.d/backup/': Aug 13 00:00:07 simonlefort.be slapcat[31880]: DIGEST-MD5 common mech free
- Vérifier qu'on a pas fait d'erreur dans les clés SSH (mauvais copier/coller, etc…)