jojo Posté(e) le 25 juin Signaler Posté(e) le 25 juin ç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 ?
henri-allauch Posté(e) le 25 juin Signaler Posté(e) le 25 juin 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
jojo Posté(e) le 25 juin Signaler Posté(e) le 25 juin je l'ai fait avec ", et ça passe mais pour backup-hc3-local.out & backup-hc3-remote.out,ça ne passe pas => je continue de chercher maintenant que j'ai la confirmation que ça DOIT fonctionner=> Merci pour ta patience !
Lazer Posté(e) le 25 juin Auteur Signaler Posté(e) le 25 juin 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.
jojo Posté(e) le 25 juin Signaler Posté(e) le 25 juin 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 !
henri-allauch Posté(e) le 25 juin Signaler Posté(e) le 25 juin (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é le 25 juin par henri-allauch
Lazer Posté(e) le 25 juin Auteur Signaler Posté(e) le 25 juin 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. 1
henri-allauch Posté(e) le 26 juin Signaler Posté(e) le 26 juin Oui pour moi aussi, les écritures en ajout ont toujours créé les fichiers inexistants, Reste à vérifier dans l'environnement de @jojo
jojo Posté(e) le 26 juin Signaler Posté(e) le 26 juin 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 ...
henri-allauch Posté(e) le 26 juin Signaler Posté(e) le 26 juin 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 ?
jojo Posté(e) le 26 juin Signaler Posté(e) le 26 juin dans syno il y a gestionnaire de tâches qui te permet de : définir le script (linux) à exécuter choisir l'utilisateur qui exécutera le script 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. 1
Lazer Posté(e) le 26 juin Auteur Signaler Posté(e) le 26 juin 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
jojo Posté(e) le 26 juin Signaler Posté(e) le 26 juin C'est beau l'amour ... et à 2h00 j'ai le backup php.
jojo Posté(e) le 26 juin Signaler Posté(e) le 26 juin 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 3
jojo Posté(e) le 29 juin Signaler Posté(e) le 29 juin 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é
jojo Posté(e) le 13 juillet Signaler Posté(e) le 13 juillet 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) : ne contient pas le # de version (normal, c'est le sens du premier message d'erreur) 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
Lazer Posté(e) le 13 juillet Auteur Signaler Posté(e) le 13 juillet 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
jojo Posté(e) le 13 juillet Signaler Posté(e) le 13 juillet 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)
manuxenon Posté(e) le 13 juillet Signaler Posté(e) le 13 juillet 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) : ne contient pas le # de version (normal, c'est le sens du premier message d'erreur) 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 1
Lazer Posté(e) le 19 juillet Auteur Signaler Posté(e) le 19 juillet 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.
jojo Posté(e) le 19 juillet Signaler Posté(e) le 19 juillet 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.
Lazer Posté(e) le 19 juillet Auteur Signaler Posté(e) le 19 juillet 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.
jojo Posté(e) le 19 juillet Signaler Posté(e) le 19 juillet ils n'améliorent PAS la sécurité de la box (trop de sécurité tue la sécurité)
Lazer Posté(e) mardi à 21:19 Auteur Signaler Posté(e) mardi à 21:19 (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é mardi à 21:23 par Lazer 1
Messages recommandés