Aller au contenu

Messages recommandés

Posté(e)

ça prouve que je n'y connais rien.

En effet le fichier /volume1/ScriptsUnix/TEST.out a été créé avec ce message à l'intérieur 

 

je lance donc la suite :

Le 24/06/2025 à 19:37, henri-allauch a dit :

set -o pipefail; ls -l XXX 2>&1 | tee /volume1/ScriptsUnix/backup-hc3-test.out

et du coup idem pour le fichier /volume1/ScriptsUnix/backup-hc3-test.out

 

Le 24/06/2025 à 19:37, henri-allauch a dit :

set -o pipefail; ls -l XXX 2>&1 | tee -a /volume1/ScriptsUnix/backup-hc3-test.out

et ici une seconde ligne a été rajoutée.

 

On avance, que dois-je faire maintenant ?

Posté(e)

OK donc les fonctionnement des commandes sont OK et l'accès en création et en écriture sont OK dans ton répertoire.

Maintenant  refait la commande pour lancer le backup  set -o pipefail; "/volume1/ScriptsUnix/backup-hc3-test.sh" 2>&1 | tee -a "/volume1/ScriptsUnix/backup-hc3-test.out" de la même manière que tu as lancé les commandes de test ci-dessus

 

Et regarde la réponse  et le contenu de /volume1/ScriptsUnix/backup-hc3-test.out 

Posté(e)

je l'ai fait avec ", et ça passe :74:

mais pour backup-hc3-local.out & backup-hc3-remote.out,ça ne passe pas :20: => je continue de chercher maintenant que j'ai la confirmation que ça DOIT fonctionner=> Merci pour ta patience !

Posté(e)

Tu es sûr que tu utilises bien des tirets "-" et pas un caractère à la con remplacé automatiquement lors de la saisie ou d'un copier-coller ?

Car Word par exemple est le spécialiste pour remplacer le tiret simple par un tiret allongé.

 

En France, on dit souvent le "tiret du 6", car il se trouve sur la touche 6 de nos claviers Azerty, mais pas sûr que ça soit pareil en Belgique.

Posté(e)

YEEEEES ! Ca fonctionne partout !

Ce que fait (pourquoi ?) c'est d'abord créer le fichier .out avec la commande

set -o pipefail; ls -l XXX 2>&1 | tee -a /volume1/ScriptsUnix/backup-hc3-test.out

 

MERCI Henri de ta persévérance !

Posté(e) (modifié)
Il y a 1 heure, jojo a dit :

ok, sauf que tu as rajouté des " ?

Les " c'est parce que j'ai copié collé ta commande un peu plus haut mais comme @Lazer te la dit aussi ils ne servent à rien s'il n'y a pas d'espace dans le nom de fichier 

 

il y a 25 minutes, jojo a dit :

Ce que fait (pourquoi ?) c'est d'abord créer le fichier .out avec la commande

set -o pipefail; ls -l XXX 2>&1 | tee -a /volume1/ScriptsUnix/backup-hc3-test.out

Dans ce cas, si tu est obligé de faire cette commande pour créer le fichier /volume1/ScriptsUnix/backup-hc3-test.out  ça veut peut être dire que la commande tee -a  ( -a pour ajout dans le fichier ) ne crée pas le fichier si inexistant. (on a pas essayé dans les test précédents)

Pour vérifier cela set -o pipefail; ls -l XXX 2>&1 | tee -a /volume1/ScriptsUnix/TEST2.out et voir si le fichier /volume1/ScriptsUnix/TEST2.out est créé et contient l'erreur ls: cannot access 'XXX': No such file or directory

Modifié par henri-allauch
Posté(e)

Pour info je viens de tester sur mon NAS et la commande tee -a qui crée bien le fichier s'il n'existe pas.

  • Thanks 1
Posté(e)
Il y a 18 heures, henri-allauch a dit :

ne crée pas le fichier si inexistant

J'avais déjà créé un fichier vide, mais peut-être qu'il n'avait pas les bons droits.

Il y a 18 heures, henri-allauch a dit :

Pour vérifier cela set -o pipefail; ls -l XXX 2>&1 | tee -a /volume1/ScriptsUnix/TEST2.out et voir si le fichier /volume1/ScriptsUnix/TEST2.out est créé et contient l'erreur ls: cannot access 'XXX': No such file or directory

tout bon ..., donc pas de chat noir pour le coup, mais le mystère reste entier ...

 

Posté(e)

Les commandes manuelles sont donc toutes OK  C'est parfait effectivement tu as une machine Normale.

Mais question : en mode automatique (backup à une certaine heure ), comment est lancé la commande de backup  ?   par cron et une crontab ? ou une autre méthode ?

 

Posté(e)

dans syno il y a gestionnaire de tâches qui te permet de :

  1. définir le script (linux) à exécuter
  2. choisir l'utilisateur qui exécutera le script
  3. définir la fréquence d'exécution du script.

C'est donc comme un CRON tab, dont je ne connais QUE le nom.

=> parfait pour moi ...

Donc chque tâche peut être programmée et/ou démarée manuellement à la demande (c'est ce que je faisais pour les tests).

 

En fait l'exécution du script de backup de @Lazer, s'est toujours (heureusement) bien passée, seul le remplissage du fichier .out ne se faisait pas.

 

Prochaine exécution automatique, dans la nuit de sam à dim à 03h00.

  • Thanks 1
Posté(e)
il y a 20 minutes, jojo a dit :

dans la nuit de sam à dim à 03h00

C'est comme si nos 2 box se sauvegardaient ensemble, main dans la main :wub: :lol:

 

Posté(e)

Bonjour,
Vous connaissez tous mon souhait d'avoir des backup fiables.
Pour la v3.24 j'ai codé une modification du sujet du mail si erreur détectée par le script.
Pour la v3.25 j'ai ajouté l'option du faire un backup local (comme maintenant) ou cloud/remote sur les serveurs Fibaro.
Cette pooossibilité est importante, car c'est la seule qui permet de migrer les modules d'une box à l'autre.
Donc perso, je fais un backup local toutes les semaines et cloud tous les mois. (le backup php hebdomadaire me permetterait de faire la différence si nécessaire).
J'ai fait ces modifs de base en n'y connaissant rienen shell, donc que les connaissuers valident mes modifs (qui sont facilement identifiables : ce sont les lignes qui suivent # jojo).
A+

backup-hc3_v3.25.sh

  • Like 3
Posté(e)
Le 26/06/2025 à 18:20, jojo a dit :

Prochaine exécution automatique, dans la nuit de sam à dim à 03h00.

tout s'est bien passé :74:

  • 2 semaines après...
Posté(e)

salut @Lazer,

j'avais implém:enté ta dernière version du script (sur base de laquelle j'avais fait mes petites adaptations), mais j'ai toujours l'erreur (qui n'est pas systématique). Voici LES mails que j'ai reçu cette nuit :

Backup HC3 Local : ERROR
Boîte de réception

HC3 Backup
03:01 (il y a 8 heures)
À xxx

Erreur : impossible d'obtenir la version : code de retour HTTP 404

<html>
 <head><title>404 Not Found</title></head>
 <body>
 <center><h1>404 Not Found</h1></center>
 <hr><center>nginx</center>
 </body>
 </html>



HC3 Backup
03:01 (il y a 8 heures)
À xxx

Sauvegarde locale Home Center terminée avec succès (backup_HC3-xxx_2025_07_06-03_01_36--.fbi)

la sauvegarde s'est en effet bien effectuée sur le Syno, mais son nom (sur le Syno) :

  1. ne contient pas le # de version (normal, c'est le sens du premier message d'erreur)
  2. ne contient pas la date du jour, mais la date du précédent backup 100% réussi (étrange, car je ne vois pas le lien)

Si tu trouves la source de l'erreur, ok pour que tu implémente la correction sur ma dernière version partagée (histoire que je ne doive pas les ré-implémenter) ? Merci

Posté(e)

Justement c'est à ça que sert la variable WAIT_AFTER_BACKUP introduite dans la dernière mise à jour.
Entre temps le topic a été pollué par 2 pages de droits Unix sur des fichiers, mais tu retrouveras l'explication ;)

 

Posté(e)

oui, c'est la version avec la variable WAIT_AFTER_BACKUP que j'utilise, c'est pourquoi, je remontais l'incident.

Si tu veux virer les 2 pages de droits Unix, pas de soucis pour dépolluer le topic (ce n'était clairement pas mon intention de polluer)

Posté(e)
Il y a 2 heures, jojo a dit :

salut @Lazer,

j'avais implém:enté ta dernière version du script (sur base de laquelle j'avais fait mes petites adaptations), mais j'ai toujours l'erreur (qui n'est pas systématique). Voici LES mails que j'ai reçu cette nuit :

Backup HC3 Local : ERROR
Boîte de réception

HC3 Backup
03:01 (il y a 8 heures)
À xxx

Erreur : impossible d'obtenir la version : code de retour HTTP 404

<html>
 <head><title>404 Not Found</title></head>
 <body>
 <center><h1>404 Not Found</h1></center>
 <hr><center>nginx</center>
 </body>
 </html>



HC3 Backup
03:01 (il y a 8 heures)
À xxx

Sauvegarde locale Home Center terminée avec succès (backup_HC3-xxx_2025_07_06-03_01_36--.fbi)

la sauvegarde s'est en effet bien effectuée sur le Syno, mais son nom (sur le Syno) :

  1. ne contient pas le # de version (normal, c'est le sens du premier message d'erreur)
  2. ne contient pas la date du jour, mais la date du précédent backup 100% réussi (étrange, car je ne vois pas le lien)

Si tu trouves la source de l'erreur, ok pour que tu implémente la correction sur ma dernière version partagée (histoire que je ne doive pas les ré-implémenter) ? Merci

Bonjour @Lazer.

 

J'ai le même problème que @jojo avec la même version.

Pour info, je l'avais aussi avant la correction " variable WAIT_AFTER_BACKUP".

Backup Fibaro Home Center : Wednesday 09/07/2025 03:00:05
Sauvegarde avec historique...

Sauvegarde terminée
Erreur : impossible d'obtenir la version : code de retour HTTP 404

<html>
<head><title>404 Not Found</title></head>
<body>
<center><h1>404 Not Found</h1></center>
<hr><center>nginx</center>
</body>
</html>

Téléchargement de backup_HC3-00002168_2025_07_06-03_02_03.fbi...
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed

  0     0    0     0    0     0      0      0 --:--:-- --:--:-- --:--:--     0
 15 22.7M   15 3711k    0     0  5544k      0  0:00:04 --:--:--  0:00:04 5548k
 55 22.7M   55 12.6M    0     0  7785k      0  0:00:02  0:00:01  0:00:01 7783k
 74 22.7M   74 16.9M    0     0  5955k      0  0:00:03  0:00:02  0:00:01 5955k
100 22.7M  100 22.7M    0     0  7027k      0  0:00:03  0:00:03 --:--:-- 7029k
Téléchargement terminé
Pas de reboot du Home Center

Backup terminé avec succès : Wednesday 09/07/2025 03:01:26

 

  • Like 1
Posté(e)
Le 26/06/2025 à 19:15, jojo a dit :

Pour la v3.25 j'ai ajouté l'option du faire un backup local (comme maintenant) ou cloud/remote sur les serveurs Fibaro.

 

Je me demandais pourquoi je n'avais jamais implémenté la sauvegarde vers le cloud/remote avec ce script initialement dédié au backup en local et téléchargement du fichier sur NAS.


Bah en fait, la réponse se trouve dans la question.

En effet, par nature, un backup cloud est... dans le cloud !
Donc pas sur la box.
Donc impossible de le récupérer sur le NAS.

Donc le script ne sert plus à rien dans ce mode d'utilisation !

 

Il est alors plus efficace de lancer le backup cloud depuis une simple scène/QuickApp directement sur la HC3, sans dépendre d'un NAS externe qui peut être indisponible.

 

J'ai tout de même modifié le script pour y ajouter le support du backup cloud/remote, mais en désactivant la routine qui tente de télécharger le fichier sur le NAS (j'ai testé, ça récupère le dernier backup local, attention au piège).

L'intérêt, c'est de conserver une uniformisation si utilisation de l’ordonnanceur du NAS, comme tu sembles le faire (planification distincte hebdomadaire/mensuelle)

 

Mise à jour à venir.

Posté(e)

en effet mon Syno planifie un backup local toutes les semaines et (avec le même script qui est paramétré différemment (pas d'historique, cloud)) tous les mois dans le cloud.

En effet, mon NAS doit être up pour le faire, mais je n'avais pas pensé à lancé l'API directement via la HC3 (via GEA ?). Mais bon c'était automatique et je ne l'oublias pas.

Posté(e)
il y a 19 minutes, jojo a dit :

via GEA ?

Bof, encore une fois, il va falloir stocker dans la configuration de GEA les identifiants de la box, je trouve ça moyen...

 

Car d'après l'exemple donné par Fibaro, il faut bien les identifiants, même en local : https://manuals.fibaro.com/home-center-3-quick-apps/

 

    self.http:request("http://127.0.0.1/api/service/backups", {
        options = {
            data = json.encode(requestBody),
            method = "POST",
            headers = {
                ["Content-Type"] = "application/json",
                ["Accept"] = "application/json",
                ["Authorization"] = "Basic  YWRtaW46YWRtaW4=",
            }
        },

(c'est comme si c'était stocké en clair, fais un coup de base64decode dessus pour voir la magie opérer)

 

A voir si depuis une scène on peut éviter ça comme pour le reboot, mais j'en doute.

 

Posté(e)

ils n'améliorent PAS la sécurité de la box (trop de sécurité tue la sécurité)

Posté(e) (modifié)

Nouvelle version 3.30 en première page et mise à jour du tuto prenant en compte essentiellement les propositions de @jojo

  • Support des firmwares à partir de la version 5.181.62
  • Ajout d'une variable HC3_BACKUP_DESCRIPTION permettant de spécifier le nom du backup qui sera affiché dans la colonne description de la liste des sauvegardes sur la box (auparavant c'était encodé en dur). En outre, le bug de l'espace dans le nom remplacé par %20 est corrigé.
  • Ajout d'une variable HC3_BACKUP_TYPE permettant de choisir une sauvegarde locale ou dans le cloud. A noter que seule la sauvegarde locale peut être téléchargée sur le NAS, à contrario de la sauvegarde dans le cloud qui reste exclusivement dans le cloud, supprimant de fait l'objectif initial de ce script.
  • En cas d'erreur, le titre de l’e-mail reçu comporte la mention Erreur.
  • Amélioration de la détection de l'erreur 404 lors du téléchargement du fichier local, en complément de la variable WAIT_AFTER_BACKUP introduite dans la précédente mise à jour mais dont l'utilisation a été mal comprise.
  • Améliorations mineures

 

Idées d'utilisation pour @jojo : il faut copier le script 2 fois (avec des noms distincts et parlants) pour planifier automatiquement 2 types de sauvegardes :

  • Sauvegarde en local avec historique complet avec la description correspondante et récupération du fichier sur le NAS :
    • HC3_BACKUP_TYPE="local"
    • HC3_BACKUP_HISTORY="YES"
    • HC3_BACKUP_DESCRIPTION="Backup HC3 local avec historique"
    • NAS_PATH="/volume1/..."
  • Sauvegarde dans le cloud sans historique pour économiser l'espace avec la description correspondante et sans récupération du fichier sur le NAS car c'est alors impossible :
    • HC3_BACKUP_TYPE="remote"
    • HC3_BACKUP_HISTORY="NO"
    • HC3_BACKUP_DESCRIPTION="Backup HC3 cloud sans historique"

 

Modifié par Lazer
  • Like 1
×
×
  • Créer...