Gladys Plus : PB de restauration

Bonjour,

j’ai essayé le processus de restauration via le gladys plus. Cependant je n’arrive pas à restaurer les données

lorsque que j’ai créé ma nouvelle instance Gladys, j’ai choisis la restauration via le gladys plus.
1 - J’ai été étonné de trouver que des vieilles sauvegarde (7mois et plus), que j’avais certainement réalisés à la main. Il me semblait pourtant qu’il y avait une sauvegarde automatique toutes les semaines ou tous les mois. Je me suis trompé ?
2 - Je prend la sauvegarde qui était la plus récente, je laisse tourner et après plusieurs minutes je m’aperçois que le container est arrêté. Il n’a pas redémarré tout seul. Peut-être un problème car j’utilise docker sur synology ?
3 - Je redémarre le docker manuellement, je me connecte sur l’url, et là je suis déjà connecté avec un 'temp-user". Je me déconnecte, mais impossible de reconnecter avec mon login/pasword. J’ai tenté un ancien en me disant que depuis 7 mois j’avais surement changé le mot de passe. En vain aussi.

Si je peux avoir un coup de main ce serait sympa.

La sauvegarde est quotidienne! Etais-tu sur que tes sauvegardes fonctionnaient sur ton instance? Tu peux regarder dans l’onglet « Backups » des settings sur l’ancienne instance?

Ah mince, effectivement ton container doit être en restart=always, car la seule façon de redémarrer Gladys est de stopper Gladys volontairement pour que docker relance Gladys. Tu es le premier à tester sur Synology !

Cela veut dire que la restauration n’a pas marchée. Quand tu restaure, Gladys créé un « temp-user » en DB qui restaure ton backup Gladys, qui est écrasée juste après vu que la DB entière est écrasée par la restauration.

Je suis allé voir côté Gladys Plus, effectivement tu n’as que 5 backups à ces dates là:

Screenshot 2020-06-09 at 10.05.30

Je ne sais pas d’ou venait ces backups (Syno? Raspberry Pi?) peut-être sur les backups sur Synology ne fonctionnent pas, tu es le premier à tester je t’avoue, je n’ai pas de synology pour ma part! Si tu as des logs, ça m’intéresse pour améliorer le produit sur Synology.

Faut qu’on passe en policy unless-stopped

1 « J'aime »

Malheureusement je n’ai plus l’ancienne version. Trop confiant sur le backup du gladys Plus, j’ai shooté ma base local lors du changement de NAS.

Tant pis pour la sauvegarde, je n’avais pas grand chose. Je vais remonter un Gladys sur le Synology et on vérifiera si les sauvegardes fonctionnent ou non.
Ensuite je pourrai tester une restauration et voir te fournir des log pour comprendre pourquoi je suis bloqué sur le temp-db.

Mince :confused: Il y a un développement prévu pour envoyer des alertes quand les backups sont en échec, mais il y a pas mal d’autres tâches plus prioritaires en ce moment.

Je suis intéressé par ton retour pour pouvoir améliorer le service :slight_smile:

Super ! Merci !

J’ai remonté une instance hier. La sauvegarde fonctionne bien, en manuel comme en automatique.
Je testerai la restauration d’ici quelques jours.

1 « J'aime »

[Attention éventuel HS complet]

Concernant docker sur Synology si on passe par l’assistant graphique de Docker, on ne peut pas régler la fonction restart autrement que sur always. Il faut passer par une commande ssh pour avoir du unless-stopped.

Sauf si je me trompe et que ça n’aide personne ^^

EDIT : typo

Tu as raison, en mode graphique tu n’as pas ce niveau de détail, il faut passer en SSH :smiley:

Les sauvegardes ont l’air de se faire régulièrement. Je ne sais pas pourquoi elle ne se faisait pas sur mon ancienne ancienne.

Je viens de modifier le dashboard et j’ai tenté de restauré à deux jours en arrière afin de revenir en arrière et valider le bon fonctionnement de la restauration.

Le container c’est arrêté mais n’a pas redémarré tout seul (on a déjà identifié ce problème et des propositions ont été mis en avant, je n’ai pas testé). J’ai donc redémarré le container à la main, mais en retournant sur Gladys je n’ai pas retrouvé l’affichage que j’attendais.

Voici les logs :

2020-06-13T18:55:22+0000 <info> gateway.checkIfBackupNeeded.js:27 (Gateway.checkIfBackupNeeded) Not backing up instance to Gladys Gateway, last backup is recent. stdout

20:55:23 2020-06-13T20:55:23+0000 <info> gateway.checkIfBackupNeeded.js:27 (Gateway.checkIfBackupNeeded) Not backing up instance to Gladys Gateway, last backup is recent. stdout

21:03:53 2020-06-13T21:03:53+0000 <info> gateway.restoreBackupEvent.js:15 (Gateway.restoreBackupEvent) Receiving restore backup event. File url = https://gladys-gateway-backup.fra1.digitaloceanspaces.com/4c852ac6-084a-469a-b9a3-f19a42ed5f06.enc stdout

21:03:53 2020-06-13T21:03:53+0000 <info> gateway.downloadBackup.js:45 (Gateway.downloadBackup) Gladys backup downloaded with success. stdout

21:03:53 2020-06-13T21:03:53+0000 <info> gateway.restoreBackup.js:13 (Gateway.restoreBackup) Restoring back up /var/lib/gladysassistant/backups/restore/4c852ac6-084a-469a-b9a3-f19a42ed5f06.db stdout

21:03:53 2020-06-13T21:03:53+0000 <info> gateway.restoreBackup.js:24 (Gateway.restoreBackup) Backup restored. Need reboot now. stdout

21:05:46 stdout

21:05:46 > gladys-server@ start:prod /src/server stdout

21:05:46 > cross-env NODE_ENV=production node index.js stdout

21:05:46 stdout

21:05:58 2020-06-13T21:05:58+0000 <info> system.init.js:31 (System.init) System.init: This system doesn't have a docker dameon available. stdout

21:06:01 Initialising OpenZWave 1.6.1051 binary addon for Node.JS. stdout

21:06:01 OpenZWave Security API is ENABLED stdout

21:06:01 ZWave device db : /usr/local/etc/openzwave stdout

21:06:01 User settings path : /src/server/services/zwave/node_modules/openzwave-shared/build/Release/../../ stdout

21:06:01 Option Overrides : --Logging false --ConsoleOutput false --SaveConfiguration true stdout

21:06:02 2020-06-13T21:06:02+0000 <info> index.js:20 (Object.start) Starting Dark Sky service stdout

21:06:02 2020-06-13T21:06:02+0000 <info> index.js:19 (Object.start) Starting telegram service stdout

21:06:02 2020-06-13T21:06:02+0000 <info> index.js:13 (Object.start) Starting usb service stdout

21:06:02 2020-06-13T21:06:02+0000 <info> index.js:16 (Object.start) Starting zwave service stdout

21:06:02 2020-06-13T21:06:02+0000 <info> service.start.js:16 (Service.start) Service telegram is not configured, so it was not started. stdout

21:06:02 2020-06-13T21:06:02+0000 <info> service.start.js:16 (Service.start) Service zwave is not configured, so it was not started. stdout

21:06:02 2020-06-13T21:06:02+0000 <info> service.start.js:16 (Service.start) Service mqtt is not configured, so it was not started. stdout

21:06:02 2020-06-13T21:06:02+0000 <info> index.js:63 (Server.<anonymous>) Server listening on port 8080 stdout

21:06:03 2020-06-13T21:06:03+0000 <info> index.js:743 (Socket.<anonymous>) Gladys Gateway: connected in websockets stdout

21:06:03 2020-06-13T21:06:03+0000 <info> gateway.checkIfBackupNeeded.js:27 (Gateway.checkIfBackupNeeded) Not backing up instance to Gladys Gateway, last backup is recent.

C’est à dire? les données étaient toujours les données pré-backups?

Dans les logs tout à l’air de s’être bien passé. Tu as regardé la tête de ton fichier .db avant/après restauration?

Oui c’est ça.

Non je regarderai ce soir

Salut,

je n’ai pas encore vérifié mon fichier avant/après restauration sur le synology.

Comme ca ne semble pas fonctionner avec le synology j’ai tenté de restaurer sur une pi. J’ai donc installé une instance de gladys et ensuite j’ai connecté le gladys Plus. J’ai une nouvelle clef de chiffrement qui a été générée. J’ai lancé la restauration d’une sauvegarde. Aie ! ca ne fonctionne pas. Les logs il m’indique que la clef utilisée n’est pas la bonne.

2020-06-26T18:33:54+0200 gateway.restoreBackupEvent.js:20 (Gateway.restoreBackupEvent) Error: Command failed: openssl enc -aes-256-cbc -pass pass:ea4244f9f37ff6fa7a46dbadf73c3c31ead77f02be89e792298c636d7561b927 -d -in /var/lib/gladysassistant/backups/restore/b1c3d1de-e277-4ba3-b6f7-a7ffa4f64fd3.enc -out /var/lib/gladysassistant/backups/restore/b1c3d1de-e277-4ba3-b6f7-a7ffa4f64fd3.db.gz
*** WARNING : deprecated key derivation used.
Using -iter or -pbkdf2 would be better.
bad decrypt
1995588952:error:06065064:digital envelope routines:EVP_DecryptFinal_ex:bad decrypt:crypto/evp/evp_enc.c:588:

at ChildProcess.exithandler (child_process.js:303:12)
at ChildProcess.emit (events.js:315:20)
at maybeClose (internal/child_process.js:1021:16)
at Process.ChildProcess._handle.onexit (internal/child_process.js:286:5) {

killed: false,
code: 1,
signal: null,
cmd: ‹ openssl enc -aes-256-cbc -pass pass:ea4244f9f37ff6fa7a46dbadf73c3c31ead77f02be89e792298c636d7561b927 -d -in /var/lib/gladysassistant/backups/restore/b1c3d1de-e277-4ba3-b6f7-a7ffa4f64fd3.enc -out /var/lib/gladysassistant/backups/restore/b1c3d1de-e277-4ba3-b6f7-a7ffa4f64fd3.db.gz ›

Il n’est pas possible de restaurer sur un autre environnement ou c’est moi qui ne fait pas la restauration comme il faut ?

Décidément je galère avec les sauvegardes/restaurations ^^

Salut @link39 :slight_smile:

Merci pour tes retours !

Alors il y a 2 façons de faire une restauration dans Gladys 4:

  1. A l’installation, en sélectionnant « Restaurer un backup »

J’avais décris la procédure dans ce post =>

  1. Ou directement depuis une instance existante, dans les paramètres de Gladys

Je suppose que tu as fais la restauration avec la procédure 2), et effectivement si tu essaie de restaurer un backup d’une ancienne instance sans avoir au préalable mis la clé de restauration de l’ancienne instance, ça échoue car la clé n’est pas la même !

Il faut que soit tu passe par la procédure 1), soit que tu mette la clé de restauration dans la nouvelle instance avant de faire la restauration (le champ est éditable)

Je suis d’accord que l’UX de la procédure 2) est pas super, je l’avais fais au début et je ne l’ai pas encore adapté suite au développement de la procédure 1) qui n’est normalement bien plus claire :slight_smile:

Oui effectivement j’avais pas pensé à changer le clef par celle d’origine. Quelques explications dans l’UX afin d’accompagner l’utilisateur serait les bienvenues.
Après coup ca me semble logique de mettre la clef d’origine, mais un petit mémo dans l’interface éviterait des erreurs bêtes comme la mienne.

1 « J'aime »