Problème restauration avec Borg 4.0.8 -> 4.1 (testing)

Bon… en ce dimanche j’ai décidé de désinstaller et de réinstaller Borg des 2 côtés. (je reprends tout à zéro…)
Par contre, je m’aperçois en me connectant en CLI sur le server de sauvegarde que le répertoire de l’utilisateur Borg est toujours présent. Est-ce normal ?
Si oui, est-ce que je peux le supprimer “à la main” sans créer de problème ?

Au risque de me répéter, le problème n’est pas borg.

Ici c’est visiblement un soucis avec onlyoffice.

Pour régler ton soucis il fallait supprimer le lien symbolique /etc/nginx/conf.d/ds.conf

Il me semblait tout de même que j’avais un pb avec borg puisque qu’il n’a sauvegarder qu’une application Redirect sur 4 et qu’une application Wordpress sur 3
Là, la réinstallation s’est bien passée et la sauvegarde de test est en cours…

(Dans tous les cas, j’aurais surement besoin de supprimer le lien symbolique lors de la restauration, donc cette analyse n’est pas perdue :slight_smile: )

Hum…
voici la liste que borg me donne suite à la sauvegarde :

auto_conf_13_12_20_11:45             Sun, 2020-12-13 12:45:33
auto_data_13_12_20_11:45             Sun, 2020-12-13 12:45:41
auto_borg_13_12_20_11:48             Sun, 2020-12-13 12:48:06
auto_dolibarr_13_12_20_11:48         Sun, 2020-12-13 12:48:14
auto_funkwhale_13_12_20_11:48        Sun, 2020-12-13 12:48:41
auto_mattermost_13_12_20_11:49       Sun, 2020-12-13 12:49:21
auto_nextcloud_13_12_20_11:51        Sun, 2020-12-13 12:51:53
auto_onlyoffice_13_12_20_12:13       Sun, 2020-12-13 13:13:23
auto_peertube_13_12_20_12:13         Sun, 2020-12-13 13:13:54
auto_phpmyadmin_13_12_20_12:21       Sun, 2020-12-13 13:21:13
auto_redirect_13_12_20_12:21         Sun, 2020-12-13 13:21:54
auto_wordpress_13_12_20_12:23        Sun, 2020-12-13 13:23:05

Ne devrais-je pas retrouver 4 lignes pour Redirect et 3 pour Wordpress ?

Oui pour ce problème là par contre je veux bien croire que ça vient de borg, même si je ne comprend pas pourquoi ça arrive alors que sur mes install ça ne fait pas ça.

Pour corriger ça, est-ce que je peux facilement modifier de “all” à une liste des applications à sauvegarder ? (je ne réussis pas à trouver comment faire) ou bien est-il préférable que je désinstalle et réinstalle borg en indiquant la liste des applications ?

Tu peux modifier la liste dans /etc/yunohost/apps/borg/settings.yml tu remplace all par une liste d’ID d’app séparée par des virgule sans espace.

1 Like

Top ! merci pour cette info. Je viens de changer tout ça et de relancer un systemctl start borg pour voir si tout va bien. Une fois ça réglé, je relance mon test de restauration sur une version 4.1

J’ai encore relu le code du paquet borg par rapport à ce soucis et jen e trouve pas d’indice sur les raisons qui empêchent le backup des apps installée plusieurs fois!

Et de mon côté, j’ai l’impression d’être le neuneu de la classe : je viens de regarder ma “borg list” et c’est un peu comme si je n’avais rien fait : mes applications installées plusieurs fois ne sont pas prises en compte.
Voici la liste que j’ai copié :

borg,dolibarr,funkwhale,mattermost,nextcloud,onlyoffice,peertube,phpmyadmin,redirect,redirect__2,redirect__3,wordpress,wordpress__2,wordpress__3,wordpress__4

et ce que j’obtiens:

auto_conf_15_12_20_13:20             Tue, 2020-12-15 13:20:46
auto_data_15_12_20_13:20             Tue, 2020-12-15 13:20:57
auto_borg_15_12_20_13:21             Tue, 2020-12-15 13:21:07
auto_dolibarr_15_12_20_13:21         Tue, 2020-12-15 13:21:19
auto_funkwhale_15_12_20_13:21        Tue, 2020-12-15 13:21:36
auto_mattermost_15_12_20_13:22       Tue, 2020-12-15 13:22:12
auto_nextcloud_15_12_20_13:23        Tue, 2020-12-15 13:23:24
auto_onlyoffice_15_12_20_13:23       Tue, 2020-12-15 13:23:48
auto_peertube_15_12_20_13:24         Tue, 2020-12-15 13:24:20
auto_phpmyadmin_15_12_20_13:24       Tue, 2020-12-15 13:24:48
auto_redirect_15_12_20_13:25         Tue, 2020-12-15 13:25:13
auto_wordpress_15_12_20_13:26        Tue, 2020-12-15 13:26:20

Que donne ces commandes chez toi ?

ls /etc/yunohost/apps/*/scripts/backup | cut -d / -f 5
yunohost --version

Peux tu confirmer que ton script /usr/local/bin/backup-with-borg.sh ressemble à ça : https://github.com/YunoHost-Apps/borg_ynh/blob/master/conf/backup-with-borg.j2

Voici ce que j’obtiens :
avec ls /etc/yunohost/apps/*/scripts/backup | cut -d / -f 5

borg
dolibarr
funkwhale
mattermost
nextcloud
onlyoffice
peertube
phpmyadmin
redirect__2
redirect__3
redirect
wordpress__2
wordpress__3
wordpress__4
wordpress 

et avec yunohost --version

yunohost:
  repo: stable
  version: 4.0.8.3
yunohost-admin:
  repo: stable
  version: 4.0.4
moulinette:
  repo: stable
  version: 4.0.3
ssowat:
  repo: stable
  version: 4.0.5 

pour le script, lorsque je vais dans /usr/local/bin/ j’ai bien backup-with-borg mais sans .sh
et oui, il ressemble parfaitement à ça.

could you publish your /usr/local/bin/backup-with-borg script ?

here it is:

#!/bin/bash

# Adapt this script to different API 2.x vs 3.x
if yunohost -v | grep "version: 2." > /dev/null; then
    ignore_apps="--ignore-apps"
    ignore_system="--ignore-system"
else
    ignore_apps=""
    ignore_system=""
fi

filter_hooks() {
    ls /usr/share/yunohost/hooks/backup/ /etc/yunohost/hooks.d/backup/ | grep "\-$1_" | cut -d"-" -f2 | uniq
}

# Backup system part conf
conf=$(yunohost app setting borg conf)
if [ $conf -eq 1 ]
then
    yunohost backup create $ignore_apps -n auto_conf --method borg_app --system $(filter_hooks conf)
fi

# Backup system data
data=$(yunohost app setting borg data)
if [ $data -eq 1 ]
then
    yunohost backup create $ignore_apps -n auto_data --method borg_app --system $(filter_hooks data)
fi

# Backup all apps independently
apps=$(yunohost app setting borg apps)
for app in $(ls /etc/yunohost/apps/*/scripts/backup | cut -d / -f 5); do
    backup_app=false
    if [[ "$apps" = "all" ]]; then
          backup_app=true
    else
        for selected_app in $(echo $apps | tr "," " ");do
            if [[ "$selected_app" == "$app" ]]; then
              backup_app=true
              break
            fi
        done
    fi
    if [ "$backup_app" == "true" ];then
        yunohost backup create $ignore_system -n auto_$app --method borg_app --apps $app
    fi
done

Est-ce que tu peux regarder le retour de la commande, si tu lances manuellement un backup avec borg.

genre

yunohost backup create -n manual --method borg_app

Peut être que dedans c’ets indiqué ce qu’il se passe…
Ou alors le fichier de log: /var/log/backup_borg.err

Voici le retour de la sauvegarde manuelle, il semble bien avoir tout pris en compte :

results:
  apps:
    borg: Success
    dolibarr: Success
    funkwhale: Success
    mattermost: Success
    nextcloud: Success
    onlyoffice: Success
    peertube: Success
    phpmyadmin: Success
    redirect: Success
    redirect__2: Success
    redirect__3: Success
    wordpress: Success
    wordpress__2: Success
    wordpress__3: Success
    wordpress__4: Success
  system:
    conf_cron: Success
    conf_ldap: Success
    conf_nginx: Success
    conf_ssh: Success
    conf_ssowat: Success
    conf_xmpp: Success
    conf_ynh_certs: Success
    conf_ynh_currenthost: Success
    conf_ynh_firewall: Success
    data_home: Success
    data_mail: Success 

Et lorsque je regarde ensuite sur le serveur où la sauvegarde est arrivée :
manual_22_12_20_10:57 Tue, 2020-12-22 10:57:38

(j’imagine que c’est normal de n’avoir qu’une seule ligne ?)

Bon… tout ça m’appelle quelques questions :

  • si ça passe en manuel, puis-je automatiser avec une tache cron la sauvegarde manuelle ?
  • comment restaurer si je n’ai qu’un seul fichier d’archive ?
  • est-ce que borg a été suffisamment malin pour ne mettre dans cette archive manuelle que la différence de ce qui avait été sauvegardé automatiquement la nuit dernière ?

pfff… j’ai vraiment l’impression d’être en classe de CM2 :slight_smile:

Oui tu peux faire ça (même si l’idéal serait de comprendre pourquoi ça ne passe pas avec le script standard)

Ca peut être un peu plus compliqué si tu as une énorme archive… Car à partir de borg il faut recréer le .tar actuellement. Par contre, le système de yunohost permet de restaurer que certaines choses venant de l’archive (même avec la web admin).

Oui borg fonctionne de façon dédupliquée et reconnait le sbouts de fichiers qu’il a déjà.

1 Like

Merci pour ces réponses !
Si je comprends bien, là, je peux tenter avec cette “grosse” archive de remonter un dupli de mon serveur actuel en récupérant ce fichier dans le répertoire /yunohost.backup et je le verrai alors dans la webadmin ?
(la “grosse” archive doit faire autour de 30go)

Par contre oui, j’aimerai bien comprendre pourquoi mon borg se comporte de façon indisciplinée en mode auto…

Oui c’est ça

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