Matériel: Image virtualbox officielle yunohost (en attente d’avoir un raspberry pi dédié) + un 2ème Raspberry Pi non yunohost
Version de YunoHost: 3.6.5.3
J’ai accès à mon serveur : En SSH + Par la webadmin + En direct avec un clavier/écran
Êtes-vous dans un contexte particulier ou avez-vous effectué des modificiations particulières sur votre instance ? : non
Bonjour,
je suis séduit par yunohost et en attendant d’avoir ma config finale pour le faire tourner (un raspberry pi que je vais dédier à yunohost) je le teste dans une VM.
J’ai commencé à tester / mettre en place la chaine de backup de Yunohost qui sera composée comme suit:
- la machine yunohost crée un backup sur un serveur non yunohost via l’applicaiton borg_ynh
- le serveur non yunohost (raspberrypi.local) se charge d’uploader le backup sur mon cloud Hubic avec rclone (c’est un serveur qui est dédié à l’upload de tous mes backups sur hubic, il ne fait que ça 24/7)
J’ai pu tout configurer grâce à ces 2 fils: (edit: j’ai l’interdiction de poster des liens donc je copie le titre des sujets… )
- borgserver-sur-une-machine-qui-nest-pas-un-yunohost
- how-to-backup-your-yunohost-server-on-another-server
mais je rencontre 2 soucis rédhibitoires:
- je dois rentrer plusieurs fois le mot de passe de l’utilisateur ssh au cours du backup (pas très pratique pour automatiser )
- le backup ne se fait pas au bon endroit
Voici comment j’ai opéré:
Dans la VM Yunohost
$ ssh-keygen -t ed25519
(je n'ai pas rentré de passphrase)
sudo yunohost app install https://github.com/YunoHost-Apps/borg_ynh
Indicate the server where you want put your backups: raspberrypi.local
Indicate the ssh user to use to connect on this server: yunohost
Sur mon serveur non yunohost (raspberrypi.local), en root
sudo adduser yunohost
Puis je me connecte en ssh à ce nouvel utilisateur:
mkdir .ssh
touch .ssh/authorized_keys
echo "command=\"borg serve --storage-quota 50G --restrict-to-repository /media/usbdisk/Yunohost\",no-pty,no-agent-forwarding,no-port-forwarding,no-X11-forwarding,no-user-rc AAAA[...] admin@yunohost.local" >> /home/yunohost/.ssh/authorized_keys
Comme mon serveur non yunohost est un raspberrypi, pour limiter l’usure de la SD card j’ai mis tous les logs en RAM etj’ai branché dessus un disque externe USB de 500Go pour les données volumineuses qui est monté sous /media/usbdisk au démarrage.
Je précise donc bien dans la commande borg serve le path vers ce disque.
On lance la commande de backup:
sudo yunohost backup create -n test --methods borg_app --debug
Sauf que, le backup se réalise bien MAIS pas sur le disque USB… Le répertoire /media/usbdisk/Yunohost est vide, mais si je regarde dans les logs:
110149 DEBUG + BORG_PASSPHRASE=XXXXX
110169 DEBUG + ssh-keygen -F raspberrypi.local
110177 DEBUG + BORG_RSH='ssh -i /root/.ssh/id_borg_ed25519 -oStrictHostKeyChecking=yes '
110184 DEBUG + repo=ssh://yunohost@raspberrypi.local/~/backup
110200 DEBUG + work_dir=/home/yunohost.backup/tmp/test
110203 DEBUG + name=test
110205 DEBUG + size=233429032
110207 DEBUG + description=
110209 DEBUG + case "$1" in
110211 DEBUG + do_backup /home/yunohost.backup/tmp/test test ssh://yunohost@raspberrypi.local/~/backup 233429032
110219 DEBUG + export BORG_PASSPHRASE
110221 DEBUG + export BORG_RSH
110224 DEBUG + work_dir=/home/yunohost.backup/tmp/test
110238 DEBUG + name=test
110241 DEBUG + repo=ssh://yunohost@raspberrypi.local/~/backup
110244 DEBUG + size=233429032
110246 DEBUG + description=
110247 DEBUG + LOGFILE=/var/log/backup_borg.log
110251 DEBUG + ERRFILE=/var/log/backup_borg.err
110254 DEBUG ++ date +%d_%m_%y_%H:%M
110256 DEBUG + current_date=16_12_19_04:19
110257 DEBUG + pushd /home/yunohost.backup/tmp/test
110268 DEBUG /home/yunohost.backup/tmp/test /etc/yunohost/hooks.d/backup_method
110273 DEBUG + set +e
110276 DEBUG + borg init -e repokey ssh://yunohost@raspberrypi.local/~/backup
yunohost@raspberrypi.local's password:
129188 DEBUG + echo 'Hello,
129193 DEBUG
129202 DEBUG Your first backup on ssh://yunohost@raspberrypi.local/~/backup is starting.
129204 DEBUG
129206 DEBUG This is an automated message from your beloved YunoHost server.'
129208 DEBUG + /usr/bin/mail.mailutils -a 'Content-Type: text/plain; charset=UTF-8' -s '[YNH] First backup is starting' root
129845 DEBUG + set -e
129850 DEBUG + borg create ssh://yunohost@raspberrypi.local/~/backup::test_16_12_19_04:19 ./
yunohost@raspberrypi.local's password:
360462 DEBUG + popd
360472 DEBUG /etc/yunohost/hooks.d/backup_method
360475 DEBUG + borg prune ssh://yunohost@raspberrypi.local/~/backup -P test --keep-hourly 2 --keep-daily=7 --keep-weekly=8 --keep-monthly=12
yunohost@raspberrypi.local's password:
375499 DEBUG + exit 0
377771 DEBUG La sauvegarde dans Borg est terminée
377783 SUCCESS Sauvegarde terminée
Je vois repo=ssh://yunohost@raspberrypi.local/~/backup…
yunohost@raspberrypi:~ $ borg list /home/yunohost/backup
Enter passphrase for key /home/yunohost/backup:
test_16_12_19_04:19 Mon, 2019-12-16 04:19:42
Le backup se trouve dans le home du user yunohst, c’est à dire sur ma SD card…
Du coup j’aurais 2 questions:
- Lorsque j’ai créé mon user sur le serveur non yunohost j’ai utilisé la commande du tutoriel en anglais
adduser yunohost
. Je me suis aperçu après coup que dans le tuto en français il y a une option “disabled-password”:adduser NOMDUUSER --quiet --gecos ",,," --shell /bin/bash --disabled-password
Est ce que le problème vient de là? Je suis surpris car je pensais que la copie de clée publique servait justement à éviter d’avoir à saisir un mot de passe… - 2ème question, pour quelle raison me backup se fait-il à un autre endroit que celui précisé dans ma commande borg serve?
Merci à vous!