Erreur 500 tentative de restauration

What type of hardware are you using: Old laptop or computer
What YunoHost version are you running: 12.1.36 (stable)
How are you able to access your server: The webadmin
SSH

Describe your issue

Bonjour,

Je viens de réinstaller Yunohost sur ma machine après la panne de mon disque contenant /home.

Après avoir copié/collé les archives de sauvegarde dans yunohost.bachup, je tente une restauration des comptes (quelques ko). Je me prend immédiatement ce message d’erreur 500.
Je ne peux pas restaurer mon serveur du coup. Usage associatif en particulier c’est embêtant.
Que puis je faire ? Merci beaucoup.

Share relevant logs or error messages

Traceback (most recent call last):
File “/usr/lib/python3/dist-packages/moulinette/interfaces/api.py”, line 430, in process
ret = self.actionsmap.process(arguments, timeout=30, route=_route)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File “/usr/lib/python3/dist-packages/moulinette/actionsmap.py”, line 580, in process
return func(**arguments)
^^^^^^^^^^^^^^^^^
File “/usr/lib/python3/dist-packages/yunohost/backup.py”, line 2273, in backup_restore
restore_manager.mount()
File “/usr/lib/python3/dist-packages/yunohost/backup.py”, line 1118, in mount
self.method.mount()
File “/usr/lib/python3/dist-packages/yunohost/backup.py”, line 1934, in mount
files_in_archive = tar.getnames()
^^^^^^^^^^^^^^
File “/usr/lib/python3.11/tarfile.py”, line 1860, in getnames
return [tarinfo.name for tarinfo in self.getmembers()]
^^^^^^^^^^^^^^^^^
File “/usr/lib/python3.11/tarfile.py”, line 1852, in getmembers
self._load() # all members, we first have to
^^^^^^^^^^^^
File “/usr/lib/python3.11/tarfile.py”, line 2452, in _load
tarinfo = self.next()
^^^^^^^^^^^
File “/usr/lib/python3.11/tarfile.py”, line 2374, in next
self.fileobj.seek(self.offset - 1)
File “/usr/lib/python3.11/gzip.py”, line 393, in seek
return self._buffer.seek(offset, whence)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File “/usr/lib/python3.11/_compression.py”, line 153, in seek
data = self.read(min(io.DEFAULT_BUFFER_SIZE, offset))
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File “/usr/lib/python3.11/gzip.py”, line 507, in read
uncompress = self._decompressor.decompress(buf, size)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
zlib.error: Error -3 while decompressing data: invalid stored block lengths

J’utilise yuno-archive pour faire mes sauvegardes en local. D’habitude j’utilise le système intégré à Yunohost qui permet une restauration facile. Si un utilisateur pouvait m’expliquer comment restaurer ma sauvegarde, je suis preneur.

I use yuno-archive to make my local backups. I usually use the system built into Yunohost, which makes restoration easy. If any user could explain to me how to restore my backup, I’d be grateful.

Est-ce que tu as vérifié que l’archive n’est pas corrompue? Peux-tu l’ouvrir sur un pc ?

A priori la décompression de l’archive sur mon PC se passe bien. (c’est encore en cours), donc bonne nouvelle, les données ne sont pas perdues.

J’ai pu terminer l’extraction de l’archive sans aucun souci. Tous les fichiers semblent là.

Mais je pense avoir une piste concernant mon problème et j’ai oublié de donner une info sûrement très importante. Je réalise mes sauvegardes avec Yuno Archive. Et j’imagine assez bien que le processus de restauration n’est donc pas standard.

J’ai consulté le dépot

Je trouve des méthodes de restauration utilisant un fichier yuno-archive.sh.

J’ai compris que cette méthode de sauvegarde sauvegardait les dossiers du serveur. J’ai conservé sur mon PC linuxMint les dossiers que j’ai décompressé avec tar et j’ai les dossiers suivant :

  • apps
  • conf
  • data
  • hooks

J’ai deviné que certains devaient être copiés dans /etc/yunohost

Je pense que j’ai fait l’erreur de choisir cette méthode de sauvegarde que je trouvait pratique pour ses automatisation. Il aurait plutôt fallu choisir l’outil de sauvagarde de Yunohost et créer un script pour automatiser.

Bref c’est trop tard, il faut absolument que je restaure ce serveur. Merci à toute personne qui pourra me venir en aide. Je n’arrive pas à appliquer la commande “restore” en particulier car je ne me place semble pas au bon endroit pour executer yuno-host.sh qui ne trouve pas les “methods”. MERCI d’avance pour l’aide

Bonsoir,
Avez-vous déjà envoyé l’archive sur le serveur où elle doit être restaurée?
Quelle commande utilisez-vous pour la restauration avec yuno-archive.sh ?

Bonsoir,

Dans la doc de yuno-archive, il y a des exemples. Je tourne autoure de cette commande

./yuno-archive.sh restore drive -n NOM-ARCHIVE-SAUVEGARDE -d /destination
  • drive – Save to a mounted volume (external or internal drive)
  • restore – Restore a backup

J’ai créé ce fichier yuno-archive.sh mais je ne sais pas dans quel répertoire me mettre pour le faire fonctionner il me dis toujours que le script n’a pas accès à tel ou tel dossier.

Le disque sur lequel se trouve la sauvegarde est donc branché physiquement sur la machine qui héberge l’instance YNH (=le serveur) ?

Oui c’est un des hdd de la machine en effet

Que dit

yuno-archive.sh list drive --drive=/dev/sdc1 --repository=chemin/vers/dossier/sauvegardes

où il faut remplacer

  • /dev/sdc1 par la partition du disque en question,
  • path/to/backup/folder par le chemin vers le dossiers des sauvegardes, relatif à la racine du disque en question (par ex: “sauvegardes” ou “data/sauvegardes”, etc.).

Je suis parti sur une autre solution (restaurer une sauvegarde Yunohost qui était un peu plus ancienne mais sur un disque externe). J’étais un peu pris par le temps du fait de l’usage de Nextcloud par une association. Merci d’avoir essayé de m’aider. J’apprécie toujours poster sur le forum Yunohost.

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