[Resolu] [BORG SERVER] : erreur au moment de l'installation

Mon serveur YunoHost

Matériel: Odroid N2.
Version de YunoHost: 4.1.4.3 (stable)
J’ai accès à mon serveur : 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 à tous,

j’ai bien réussi à installer Borg backup app sur le serveur A (à sauvegarder) mais lors de l’installation de Borg serveur sur le serveur B (le serveur devant recevoir la sauvegade).
Ci-contre le log (https://paste.yunohost.org/raw/afupubexok)

Et après l’opération “enlever borg server après une installation échouée” a échouée (https://paste.yunohost.org/raw/eqafenejub)

Merci d’avance pour votre aide

Bon en installant virtual env: “apt-get install virtualenv” (comme indiqué ici _common.sh: line 14: virtualenv: command not found · Issue #36 · YunoHost-Apps/borg_ynh · GitHub) ça semble OK.

J’essaye une première sauvegarde

ping @ljf :confused:

c’est bon me semble-t-il car je pense avoir réussi la première sauvegarde. J’avais cumulé des erreurs :slight_smile:

  • mot de passe avec espaces ;
  • serveur B avec une adresse IP au lieu dun nom de domaine (j’ai finalement changé le fichier host sur le server A)…

J’ai fait des vérifications comme indiqué ici GitHub - YunoHost-Apps/borg_ynh: An experimental Borg implementation for YunoHost et ça semble OK.

J’ai une ou 2 interrogations qui restent :slight_smile:

  • comment modifier le chemin du backup (actuellement dans home/userborg/backup ;
  • comment intégrer dans la sauvegarde des disques externes montés de façon permanente sur le serveur A ?

Bon j’ai une version testing de borgserver GitHub - YunoHost-Apps/borgserver_ynh: Borg server package for YunoHost (merci à ericg qui a fait la quasi totalité)

Le chemin ne se change pas (sauf à bidouiller le script). Quelle est la vraie problématique ? Tu veux envoyer ça sur un disque ?

Pour ça il faut créer des hook de backup custom, un exemple ci-dessous:

mkdir -p /etc/yunohost/hooks.d/backup
mkdir -p /etc/yunohost/hooks.d/restore
touch /etc/yunohost/hooks.d/backup/99-data_custom
touch /etc/yunohost/hooks.d/restore/99-data_custom

Example for backup/99-data_custom

#!/bin/bash

# Source YNH helpers
source /usr/share/yunohost/helpers

ynh_backup_dest (){
    YNH_CWD="${YNH_BACKUP_DIR%/}/$1"
    mkdir -p $YNH_CWD
    cd "$YNH_CWD"
}

# Exit hook on subcommand error or unset variable
ynh_abort_if_errors

# Openvpn
ynh_backup_dest "data/custom/openvpn"
ynh_backup "/etc/sysctl.d/openvpn.conf"
ynh_backup "/etc/openvpn"
ynh_backup "/etc/fail2ban/jail.d/openvpn.conf"
ynh_backup "/etc/fail2ban/filter.d/openvpn.conf"

# Samba
ynh_backup_dest "data/custom/samba"
ynh_backup "/etc/samba"
ynh_backup "/var/lib/samba"
ynh_backup "/etc/yunohost/hooks.d/post_user_create/99-samba"
ynh_backup "/etc/yunohost/hooks.d/post_user_delete/99-samba"
ynh_backup --src_path="/etc/yunohost/hooks.d/post_user_update/99-samba" --not_mandatory
ynh_backup "/etc/cron.daily/clean-trash"

...

Example for restore/99-data_custom

#!/bin/bash

# Source YNH helpers
source /usr/share/yunohost/helpers

ynh_restore_dest (){
    YNH_CWD="${YNH_BACKUP_DIR%/}/$1"
    cd "$YNH_CWD"
}

# Exit hook on subcommand error or unset variable
ynh_abort_if_errors

# Openvpn
app="custom_openvpn" # Cette variable est importante pour le helper suivant
ynh_install_app_dependencies "openvpn openvpn-auth-ldap samba" 

ynh_restore_dest "data/custom/openvpn"
ynh_restore_file "/etc/sysctl.d/openvpn.conf"
ynh_restore_file "/etc/openvpn"
ynh_restore_file "/etc/fail2ban/jail.d/openvpn.conf"
ynh_restore_file "/etc/fail2ban/filter.d/openvpn.conf"

# Samba
app="custom_samba" # Cette variable est importante pour le helper suivant
ynh_install_app_dependencies "samba" 

ynh_restore_dest "data/custom/samba"
ynh_restore_file "/etc/samba"
ynh_restore_file "/var/lib/samba"
ynh_restore_file "/etc/yunohost/hooks.d/post_user_create/99-samba"
ynh_restore_file "/etc/yunohost/hooks.d/post_user_delete/99-samba"
ynh_restore_file --src_path="/etc/yunohost/hooks.d/post_user_update/99-samba" --not_mandatory
ynh_restore_file "/etc/cron.daily/clean-trash"

Bonjour et merci ljf de ta réponse

Oui c’est ça ; plutôt que sur une micro-SD

Et merci pour les exemples de hook de backup => ça me semble pas de mon niveau :slight_smile:

Un exemple plus simple au cas où tu changes d’avis:

mkdir -p /etc/yunohost/hooks.d/backup
mkdir -p /etc/yunohost/hooks.d/restore
touch /etc/yunohost/hooks.d/backup/99-data_custom
touch /etc/yunohost/hooks.d/restore/99-data_custom

Example for backup/99-data_custom

#!/bin/bash

# Source YNH helpers
source /usr/share/yunohost/helpers

ynh_backup_dest (){
    YNH_CWD="${YNH_BACKUP_DIR%/}/$1"
    mkdir -p $YNH_CWD
    cd "$YNH_CWD"
}

# Exit hook on subcommand error or unset variable
ynh_abort_if_errors

# Openvpn
ynh_backup_dest "data/custom/disque"
ynh_backup "/mnt/mondisque"

Example for restore/99-data_custom

#!/bin/bash

# Source YNH helpers
source /usr/share/yunohost/helpers

ynh_restore_dest (){
    YNH_CWD="${YNH_BACKUP_DIR%/}/$1"
    cd "$YNH_CWD"
}

# Exit hook on subcommand error or unset variable
ynh_abort_if_errors

ynh_backup_dest "data/custom/disque"
ynh_backup "/mnt/mondisque"

Il faut juste remplacer /mnt/mondisque par le dossier que tu veux sauvegarder

Pour stocker les données ailleurs:

mv /home/USER/backup/* /mnt/backup/
mount --bind /mnt/backup/ /home/USER/backup

Peut être faut-il vérifier les droits d’écriture. Attention au reboot cette modification est perdue. Il y a probablement de configurer ça dans /etc/fstab (le fichier qui se charge de monter l’arborescence)

Merci beaucoup ljf.
C’est plus simple, donc avec du courage je le tente :slight_smile:
Bonne journée