Aller au contenu
Lazer

Sauvegarde HC3 automatique sur NAS Synology

Recommended Posts

Pas mieux :(

Maintenant j'ai : mnt/user/backups/HC3/backup-hc3.sh: cannot execute: required file not found

Sauf que le fichier est au bon endroit. ça me le fait depuis que j'ai mis à 777

Modifié par Domodial

Partager ce message


Lien à poster
Partager sur d’autres sites

Là comme ça en aveugle j'ai pas d'idée... désolé :-(

 

Partager ce message


Lien à poster
Partager sur d’autres sites

Si j'enlève le pipe truc j'ai : 

#!/bin/bash
"/mnt/user/backups/HC3/backup-hc3.sh" 2>&1 | "/mnt/user/backups/HC3/backup-hc3.out"

J'ai :

 

line 2: /mnt/user/backups/HC3/backup-hc3.out: No such file or directory

Du coup il ne me crée plus le .out

Modifié par Domodial

Partager ce message


Lien à poster
Partager sur d’autres sites

ah non, même en remettant pip chose il me dit pareil.

Donc les droits ça se passe mal.

 

EDIT : en remettant 666 j'ai /mnt/user/backups/HC3/backup-hc3.sh: Permission denied

 

Dommage

Modifié par Domodial

Partager ce message


Lien à poster
Partager sur d’autres sites

Bonjour,

 

Essaie ceci:

chmod ugo+x /mnt/user/backups/HC3/backup-hc3.sh

Et dans ton fichier :

#!/bin/bash
/mnt/user/backups/HC3/backup-hc3.sh 2>&1 | tee -a /mnt/user/backups/HC3/backup-hc3.out

Et aussi, vérifie que les dossiers mnt, user, backups, HC3 sont bien accessibles par ton utilisateur qui lance le fichier backup-hc3.sh.

 

  • Like 1

Partager ce message


Lien à poster
Partager sur d’autres sites

Merci @Kana-chan 
Je n'ai plus de messages d'erreur !

 

Mais ceci :(

 

Backup Fibaro Home Center : Wednesday 23/11/2022 11:19:45
Vérification du profil actif...
backup-hc3.sh: line 133: /bin/jq: No such file or directory (probleme librairy JSON ?)
Erreur : profil vide ou inexistant (Je suis sur Away ce qui normal dans mon cas) je pense que tout est lié au Json Jq Par contre je ne peux pas l'installer, Unraid le supprimera lors d'une mise à jour.
backup-hc3.sh: line 48: /usr/syno/bin/synodsmnotify: No such file or directory (correspond à ca : # Function : Send Notification function Notification {     /usr/syno/bin/synodsmnotify "${NOTIF_TO}" "${NOTIF_TITLE}" "$1" }

Modifié par Domodial

Partager ce message


Lien à poster
Partager sur d’autres sites

Bonsoir,

Vous êtes sur un Synology ?

Ou bien une distribution linux ? Si oui laquelle ?

Pourquoi vous ne pouvez pas installer jq ?

Avez-vous repris ce fichier backup-hc3.sh dans le post ICI (modifié pour linux debian) ?

Modifié par Kana-chan

Partager ce message


Lien à poster
Partager sur d’autres sites

jq n'est pas disponible sous UNRAID ?

 

Sinon jq est disponible ici, sous forme d'un fichier qu'on peut librement copier sans aucune dépendance :

image.png.73b240e16e35bc9433e2d0382d055855.png

 

Donc tu le mets dans le même répertoire que ton script, et UNRAID n'ira pas le supprimer lors de la prochaine mise à jour.

Il faudra juste changer le chemin d'appel de jq dans le script pour qu'il le trouve au bon endroit.

 

EDIT : il ne faudra pas oublier le chmod +x ... pour rendre le fichier exécutable.

 

 

Modifié par Lazer
  • Like 1

Partager ce message


Lien à poster
Partager sur d’autres sites

@Kana-chan oui j'ai repris le fichier en question mais ça n'a rien fait de mieux. J'ai jonglé avec le tiens et celui de @Lazer du coup comme pas de changement j'ai repris celui de Lazer qui améliorait des choses.

 

Après les choses n'étaient pas bloquantes alors j'ai persisté avec la version 3.20 de tete vs 3.21. 

@Lazer en effet impossible d'ajouter jq mais demain je vais essayer ta solution après je me resignerait.

Partager ce message


Lien à poster
Partager sur d’autres sites
Il y a 13 heures, Domodial a dit :

backup-hc3.sh: line 133: /bin/jq: No such file or directory (probleme librairy JSON ?)

Je viens de voir pour jq il faut mettre :

/usr/bin/jq

car j'ai installé unRAID dans une VM et j'ai cela :

image.png.817fa54be0a88c668b47f6a7c99b8e31.png

Modifié par Kana-chan
  • Upvote 1

Partager ce message


Lien à poster
Partager sur d’autres sites

Wow !! Merci grandement j'essaye ça aujourd'hui !

Partager ce message


Lien à poster
Partager sur d’autres sites

J'avais encore des lignes à modifier car la sauvegarde ne pouvais pas enregistrer le fichier (pleins de lignes de ce type) :

backup-hc3.sh: line 197: /bin/jq: No such file or directory
.backup-hc3.sh: line 195: /bin/jq: No such file or directory

J'ai changé tout les /bin/jq en /usr/bin/jq

Et je suis très vite arrivé à ça :

Backup Fibaro Home Center : Thursday 24/11/2022 08:25:49
Vérification du profil actif...
Profil actif = '2' => Sauvegarde
Sauvegarde avec historique...
.....................................................................
Sauvegarde terminée
Téléchargement de backup_HC3-00014393_2022_11_24-08_26_50.fbi...
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
100 5128k  100 5128k    0     0  8046k      0 --:--:-- --:--:-- --:--:-- 8038k
Téléchargement terminé
Pas de reboot du Home Center

Backup terminé avec succès : Thursday 24/11/2022 08:27:42

Mais j'ai bien une sauvegarde dans le dossier /HC3/backup_HC3-00014393_2022_11_24-08_26_50-5.130.45-stable.fbi

Qui fait 5,25Mo

 

Merci beaucoup @Kana-chan de m'avoir permit de passer le script sur Unraid !! ça aidera beaucoup qui passeront par là, afin de retranscrire ce super script ailleurs que sur Syno.

Finalement jq était installé, je m'y était mal pris pour voir s'il était dans le systeme ou pas, c'est pour cela que je ne voulais pas l'ajouter car je sais que lors d'une maj de Unraid (j'en ai une à faire d'ailleurs) tout les paquets installé sont purgés pour ne laisser place que à Unraid.

 

 

Modifié par Domodial

Partager ce message


Lien à poster
Partager sur d’autres sites

Par contre quand je lance le cron script rien ne se passe Grr :lol:

#!/bin/bash
echo "demarrage du backup"
/mnt/user/backups/HC3/backup-hc3.sh 2>&1 | tee -a /mnt/user/backups/HC3/backup-hc3.out

Je viens de faire ceci et ça fonctionne mais je ne sais pas si c'est bien catolic comme commande ?
J'utilise le plugins User Scripts dispo dans application. Le backup est bien crée, j'ai désigné tous les jours à 00 22 * * *

#!/bin/bash
echo "demarrage du backup"
cd /mnt/user/backups/HC3
bash ./backup-hc3.sh

 

Modifié par Domodial

Partager ce message


Lien à poster
Partager sur d’autres sites

Sujet clos me concernant.

Tout fonctionne parfaitement bien avec sauvegarde a 22h.

 

Je n'ai pas essayé une restauration, j'avais vu qu'il y a eu un sujet a l'époque. J'espère que ça fonctionne lol :)

 

Je n'ai pas essayé le reboot de la box, je pensais que le redémarrage des services faisait un reboot. A tester. 

Partager ce message


Lien à poster
Partager sur d’autres sites

Cool :)

 

Pas besoin de reboot.

 

  • Like 1

Partager ce message


Lien à poster
Partager sur d’autres sites

Bonjour à tous,

 

J'ai utilisé ce script avec succès pendant quelques mois: merci beaucoup Lazer!

Malheureusement depuis le début de l'année, il ne fonctionne plus chez moi. Je l'avais donc désactivé du task scheduler du Synology. 

J'ai laissé passé les mois avant de m'en occuper... mais un gros crash me pousse à vouloir trouver une solution avec votre aide.

 

Le script fonctionnait pdt des mois puis a cessé: la hc3 reboot mais aucun backup effectué / ni téléchargé sur le NAS.

Je n'en suis pas certain mais il est possible que cela se soit produit au moment ou j'ai connecté en un HC3 Lite en slave sur celle-ci (j'avoue ne pas avoir essayé de "déconnecté" la slave pour vérifier)

 

Est ce que que vous verriez une raison pour laquelle la présence d'une connection avec une slave fasse planter le script?

 

Voici le log... avec la dernière sauvegarde réussi (automatique) le 31/01 et celle que j'ai lancé aujourd'hui et qui n'aboutit pas... mais s'accompagne d'un reboot

 

Backup Fibaro Home Center : Tuesday 31/01/2023 21:53:04
Sauvegarde avec historique...

Sauvegarde terminée
Téléchargement de backup_HC3-00005250_2023_01_31-21_18_34.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 100 2442k  100 2442k    0     0  7958k      0 --:--:-- --:--:-- --:--:-- 7981k
Téléchargement terminé
Pas de reboot du Home Center

Backup terminé avec succès : Tuesday 31/01/2023 21:53:23

 

 

Backup Fibaro Home Center : Sunday 30/07/2023 10:58:31
Reboot du Home Center...
Box Fibaro rebootée

Backup terminé avec succès : Sunday 30/07/2023 10:58:31

 

Partager ce message


Lien à poster
Partager sur d’autres sites

Salut,

 

Désolé je n'ai pas le temps de regarder le détail, mais juste pour te confirmer que ça continue de fonctionner très bien chez moi. J'ai encore une sauvegarde qui s'est faite il y a quelques jours

1082849890_Screenshot2023-07-31at09_51_28.thumb.png.f53a588c8d3c54b5d4fe8b2085e47015.png

Partager ce message


Lien à poster
Partager sur d’autres sites

Non, je n'ai qu'une seule box. Le script de backup est lancé par mon Synology tous les mois.

 

Je ne sais plus si j'y ai apporté des modifications ou non, alors voilà celui que j'utilise et qui fonctionne (j'ai seulement enlevé les infos d'authentification et les adresses mail) : 

 

#!/usr/bin/sh
#
# Script  : backup-hc3.sh
# Author  : Lazer
# Version : 3.21
# Date    : April 2022
#

# HC3 Address
HC3_ADDRESS="192.168.20.2"
# HC3 Authentication : echo -n 'user:password' | base64 ou https://www.base64decode.org/
HC3_AUTHENTICATION="A COMPLETER"
# HC3 Backup History
HC3_BACKUP_HISTORY="YES"
# HC3 Global Variable
HC3_VARIABLE_NAME="Backup_Synology"
HC3_VARIABLE_IS_VALUE="true"
# HC3 Active Profile
HC3_PROFIL_IS_VALUE=1
HC3_PROFIL_NOT_VALUE=3
# NAS
NAS_PATH="/volume1/Backups/HC3"
# Email
MAIL_FROM="A COMPLETER"
MAIL_TO="A COMPLETER"
MAIL_SUBJECT="Backup HC3"
# Notification
NOTIF_TO="@administrators"
NOTIF_TITLE="Sauvegarde"
# Backup timeout
TIMEOUT=900
# Reboot
CLEAN_REBOOT="No"
FORCE_REBOOT="Yes"

# Initialization
echo -e "\nBackup Fibaro Home Center : $(/bin/date +'%A %d/%m/%Y %H:%M:%S')"
set -o pipefail

# Function : Send Email
function Email {
    local MAIL_BODY=$(echo $1 | sed -e 's/\"/\\\"/g')
    /usr/bin/php -r "mail('${MAIL_TO}', '${MAIL_SUBJECT}', \"${MAIL_BODY}\", 'From: ${MAIL_FROM}');"
}

# Function : Send Notification
function Notification {
    /usr/syno/bin/synodsmnotify "${NOTIF_TO}" "${NOTIF_TITLE}" "$1"
}

# Function : Display error
function Error {
    if [ -z "$2" ]
    then
        echo -e "$1"
        #Email "$1"
    else
        echo -e "$1\n\n$2\n"
        #Email "$1\n\n$2\n"
    fi
    Notification "$1"
}

# Function : Quit program
function Quit {
    exit $1
}

# Check JSON library
type jq > /dev/null 2>&1
if [ $? -ne 0 ]
then
    Error "Erreur : librairie JSON 'jq' introuvable"
    Quit 1
fi

# Check destination directory
if [ ! -d "${NAS_PATH}" ]
then
    Error "Erreur : le répertoire de destination '${NAS_PATH}' n'existe pas"
    Quit 2
fi
cd "${NAS_PATH}"

# Check global variable value
if [ ! -z "${HC3_VARIABLE_NAME}" ]
then
    echo "Vérification de la valeur de la variable globale '${HC3_VARIABLE_NAME}'..."
    OUTPUT=$(/usr/bin/curl --write-out "HTTPSTATUS:%{http_code}" --silent --request GET --header "Authorization: Basic ${HC3_AUTHENTICATION}" "http://${HC3_ADDRESS}/api/globalVariables/${HC3_VARIABLE_NAME}")
    if [ $? -ne 0 ]
    then
        Error "Erreur : impossible de se connecter au Home Center pour lire la variable globale '${HC3_VARIABLE_NAME}'"
        Quit 3
    fi
    # Curl - Get status code and response body : https://gist.github.com/maxcnunes/9f77afdc32df354883df
    JSON=$(echo "${OUTPUT}" | sed -e 's/HTTPSTATUS\:.*//g')
    CODE=$(echo "${OUTPUT}" | tr -d '\n' | sed -e 's/.*HTTPSTATUS://')
    if [ "${CODE}" == "200" ]
    then
        VALEUR=$(echo "${JSON}" | /bin/jq -r ".value")
        #if [ -z "${VALEUR}" ]
        #then
            #Error "Erreur : variable globale '${HC3_VARIABLE_NAME}' vide"
            #Quit 4
        #fi
        if [ "${VALEUR}" != "${HC3_VARIABLE_IS_VALUE}" ]
        then
            Error "Attention : variable globale '${HC3_VARIABLE_NAME}' = '${VALEUR}' différent de '${HC3_VARIABLE_IS_VALUE}' => Pas de sauvegarde"
            Quit 5
        fi
        echo "Variable globale '${HC3_VARIABLE_NAME}' = '${VALEUR}' identique à '${HC3_VARIABLE_IS_VALUE}' => Sauvegarde"
    else
        Error "Erreur : la variable globale '${HC3_VARIABLE_NAME}' est inexistante : code de retour HTTP ${CODE}" "${JSON}"
        Quit 6
    fi
fi

# Check active profile
if [[ ! -z "${HC3_PROFIL_IS_VALUE}" || ! -z "${HC3_PROFIL_NOT_VALUE}" ]]
then
    echo "Vérification du profil actif..."
    OUTPUT=$(/usr/bin/curl --write-out "HTTPSTATUS:%{http_code}" --silent --request GET --header "Authorization: Basic ${HC3_AUTHENTICATION}" "http://${HC3_ADDRESS}/api/profiles")
    if [ $? -ne 0 ]
    then
        Error "Erreur : impossible de se connecter au Home Center pour lire le profil actif"
        Quit 7
    fi
    JSON=$(echo "${OUTPUT}" | sed -e 's/HTTPSTATUS\:.*//g')
    CODE=$(echo "${OUTPUT}" | tr -d '\n' | sed -e 's/.*HTTPSTATUS://')
    if [ "${CODE}" == "200" ]
    then
        PROFIL=$(echo "${JSON}" | /bin/jq -r ".activeProfile")
        if [ -z "${PROFIL}" ]
        then
            Error "Erreur : profil vide ou inexistant"
            Quit 8
        fi
        if [[ ! -z "${HC3_PROFIL_IS_VALUE}" && "${PROFIL}" != "${HC3_PROFIL_IS_VALUE}" ]]
        then
            Error "Attention : profil actif = '${PROFIL}' différent de '${HC3_PROFIL_IS_VALUE}' => Pas de sauvegarde"
            Quit 9
        fi
        if [[ ! -z "${HC3_PROFIL_NOT_VALUE}" && "${PROFIL}" == "${HC3_PROFIL_NOT_VALUE}" ]]
        then
            Error "Attention : profil actif = '${PROFIL}' identique à '${HC3_PROFIL_NOT_VALUE}' => Pas de sauvegarde"
            Quit 10
        fi
        echo "Profil actif = '${PROFIL}' => Sauvegarde"
    else
        Error "Erreur : impossible de lire le profil actif : code de retour HTTP ${CODE}" "${JSON}"
        Quit 11
    fi
fi

# Perform backup
if [[ "${HC3_BACKUP_HISTORY}" == "YES" ]]
then
    echo "Sauvegarde avec historique..."
    DATA='{"action":"create","params":{"type":"local","description":"Synology-Auto-Backup","skipHistoryData":false}}'
else
    echo "Sauvegarde sans historique..."
    DATA='{"action":"create","params":{"type":"local","description":"Synology-Auto-Backup","skipHistoryData":true}}'
fi
OUTPUT=$(/usr/bin/curl --write-out "HTTPSTATUS:%{http_code}" --silent --request POST --header "Authorization: Basic ${HC3_AUTHENTICATION}" --header "Content-Type: application/json" --data ${DATA} "http://${HC3_ADDRESS}/api/service/backups")
if [ $? -ne 0 ]
then
    Error "Erreur : impossible de se connecter au Home Center pour lancer la sauvegarde"
    Quit 12
fi
JSON=$(echo "${OUTPUT}" | sed -e 's/HTTPSTATUS\:.*//g')
CODE=$(echo "${OUTPUT}" | tr -d '\n' | sed -e 's/.*HTTPSTATUS://')
if [ "${CODE}" != "201" ]
then
    Error "Erreur : impossible de créer la sauvegarde : code de retour HTTP ${CODE}" "${JSON}"
    Quit 13
fi

# Wait during backup
/bin/sleep 10
START_TIME=$(date +%s)
while [ 1 ]
do
    # Check Fibaro services restart
    OUTPUT=$(/usr/bin/curl --write-out "HTTPSTATUS:%{http_code}" --silent --header "Authorization: Basic ${HC3_AUTHENTICATION}" "http://${HC3_ADDRESS}/api/service/servicesStatus")
    if [ $? -ne 0 ]
    then
        Error "Erreur : impossible de se connecter au Home Center pour vérifier son statut"
        Quit 14
    fi
    JSON=$(echo "${OUTPUT}" | sed -e 's/HTTPSTATUS\:.*//g')
    CODE=$(echo "${OUTPUT}" | tr -d '\n' | sed -e 's/.*HTTPSTATUS://')
    if [ "${CODE}" == "200" ]
    then
        HCServer=$(echo "${JSON}" | /bin/jq '.HCServer.running')
        Zwave=$(echo "${JSON}" | /bin/jq '.Zwave.running')
        FibaroServices=$(echo "${JSON}" | /bin/jq '.FibaroServices.running')
        if [[ "${HCServer}" == "true" && "${Zwave}" == "true" && "${FibaroServices}" == "true" ]]
        then
            echo -e "\nSauvegarde terminée"
            break
        fi
    fi
    CURRENT_TIME=$(date +%s)
    if (( CURRENT_TIME-START_TIME >= ${TIMEOUT} ))
    then
        if [ "${CODE}" != "200" ]
        then
            REASON="Code de retour HTTP ${CODE}"
        elif [ "${HCServer}" != "true" ]
        then
            REASON="Service HCServer $(echo "${JSON}" | /bin/jq '.HCServer.status')"
        elif [ "${Zwave}" != "true" ]
        then
            REASON="Service Zwave $(echo "${JSON}" | /bin/jq '.Zwave.status')"
        elif [ "${FibaroServices}" != "true" ]
        then
            REASON="Service FibaroServices $(echo "${JSON}" | /bin/jq '.FibaroServices.status')"
        fi
        Error "Erreur : services Fibaro non redémarrés après le timeout de ${TIMEOUT} secondes : ${REASON}"
        # Force Reboot
        if [ "${FORCE_REBOOT}" == "Yes" ]
        then
            echo "Reboot forcé du Home Center..."
            OUTPUT=$(/usr/bin/curl --write-out "HTTPSTATUS:%{http_code}" --silent --request POST --header "Authorization: Basic ${HC3_AUTHENTICATION}" "http://${HC3_ADDRESS}/api/service/reboot" --data '{}')
            if [ $? -ne 0 ]
            then
                Error "Erreur : impossible de se connecter au Home Center pour forcer le reboot"
                Quit 15
            fi
            JSON=$(echo "${OUTPUT}" | sed -e 's/HTTPSTATUS\:.*//g')
            CODE=$(echo "${OUTPUT}" | tr -d '\n' | sed -e 's/.*HTTPSTATUS://')
            if [ "${CODE}" == "200" ]
            then
                echo -e "Box Fibaro rebootée de force\n"
                Quit 16
            else
                Error "Erreur : impossible de forcer le reboot de la box Fibaro : code de retour HTTP ${CODE}" "${JSON}"
                Quit 17
            fi
        else
            echo -e "Pas de reboot forcé du Home Center\n"
            Quit 18
        fi
        Quit 19
        break
    fi
    echo -n "."
    /bin/sleep 1
done

# Get name of last backup
/bin/sleep 5
OUTPUT=$(/usr/bin/curl --write-out "HTTPSTATUS:%{http_code}" --silent "http://${HC3_ADDRESS}/api/service/backups")
if [ $? -ne 0 ]
then
    Error "Erreur : impossible de se connecter au Home Center pour obtenir le dernier backup"
    Quit 20
fi
JSON=$(echo "${OUTPUT}" | sed -e 's/HTTPSTATUS\:.*//g')
CODE=$(echo "${OUTPUT}" | tr -d '\n' | sed -e 's/.*HTTPSTATUS://')
if [ "${CODE}" == "200" ]
then
    localBackupPath=$(echo "${JSON}" | /bin/jq -r '.[0].localBackupPath')
    if [ "${localBackupPath}" == "" ]
    then
        Error "Erreur : localBackupPath est vide"
        Quit 21
    fi
    filename=$(echo "${JSON}" | /bin/jq -r '.[0].uploadedBackup[-1].filename')
    if [ "${filename}" == "" ]
    then
        Error "Erreur : filename est vide"
        Quit 22
    fi
else
    Error "Erreur : impossible d'obtenir le dernier backup : code de retour HTTP ${CODE}" "${JSON}"
    Quit 23
fi

# Get HC version
OUTPUT=$(/usr/bin/curl --write-out "HTTPSTATUS:%{http_code}" --silent --request GET "http://${HC3_ADDRESS}/api/settings/info")
if [ $? -ne 0 ]
then
    Error "Erreur : impossible de se connecter au Home Center pour obtenir la version"
fi
JSON=$(echo "${OUTPUT}" | sed -e 's/HTTPSTATUS\:.*//g')
CODE=$(echo "${OUTPUT}" | tr -d '\n' | sed -e 's/.*HTTPSTATUS://')
if [ "${CODE}" == "200" ]
then
    VERSION=$(echo "${JSON}" | /bin/jq -r ".currentVersion.version")
    TYPE=$(echo "${JSON}" | /bin/jq -r ".currentVersion.type")
else
    Error "Erreur : impossible d'obtenir la version : code de retour HTTP ${CODE}" "${JSON}"
fi

# Download backup
BASENAME="${filename%.*}"
EXTENSION="${filename##*.}"
FILENAME="${BASENAME}-${VERSION}-${TYPE}.${EXTENSION}"
FILEPATH="${localBackupPath}${filename}"
echo "Téléchargement de ${filename}..."
OUTPUT=$(/usr/bin/curl --write-out "HTTPSTATUS:%{http_code}" --output "${FILENAME}" "http://${HC3_ADDRESS}${FILEPATH}")
if [ $? -ne 0 ]
then
    Error "Erreur : impossible de se connecter au Home Center pour télécharger le dernier backup"
    Quit 24
fi
JSON=$(echo "${OUTPUT}" | sed -e 's/HTTPSTATUS\:.*//g')
CODE=$(echo "${OUTPUT}" | tr -d '\n' | sed -e 's/.*HTTPSTATUS://')
if [ "${CODE}" == "200" ]
then
    echo "Téléchargement terminé"
else
    Error "Erreur : impossible de télécharger le dernier backup : code de retour HTTP ${CODE}" "${JSON}"
    Quit 25
fi

# Clean Reboot
if [ "${CLEAN_REBOOT}" == "Yes" ]
then
    echo "Reboot du Home Center..."
    OUTPUT=$(/usr/bin/curl --write-out "HTTPSTATUS:%{http_code}" --silent --request POST --header "Authorization: Basic ${HC3_AUTHENTICATION}" "http://${HC3_ADDRESS}/api/service/reboot" --data '{}')
    if [ $? -ne 0 ]
    then
        Error "Erreur : impossible de se connecter au Home Center pour rebooter"
        Quit 26
    fi
    JSON=$(echo "${OUTPUT}" | sed -e 's/HTTPSTATUS\:.*//g')
    CODE=$(echo "${OUTPUT}" | tr -d '\n' | sed -e 's/.*HTTPSTATUS://')
    if [ "${CODE}" == "200" ]
    then
        echo -e "Box Fibaro rebootée\n"
    else
        Error "Erreur : impossible de rebooter la box Fibaro : code de retour HTTP ${CODE}" "${JSON}"
        Quit 27
    fi
else
    echo -e "Pas de reboot du Home Center\n"
fi

# Display date and time
echo -e "Backup terminé avec succès : $(/bin/date +'%A %d/%m/%Y %H:%M:%S')\n"
#Email "Sauvegarde Home Center terminée avec succès (${FILENAME})"
Notification "Sauvegarde Home Center terminée avec succès (${FILENAME})"

# Return code
Quit 0


 

Partager ce message


Lien à poster
Partager sur d’autres sites

Et si tu lances une sauvegarde manuellement, via l'interface Web, ça fonctionne ?

 

Il y a récemment eu un problème similaire, qui a été résolu par le support Fibaro, voir :

 

 

Partager ce message


Lien à poster
Partager sur d’autres sites

Hello,

cela fait des mois que j'utilise ce script sans message d'errreur.

Je viens de recevoir ce mail de mon synology

Le planificateur de tâches a terminé une tâche planifiée.

Tâche : BackupHC3
Heure de début : Sun, 13 Aug 2023 03:00:01 GMT
Heure d'arrêt : Sun, 13 Aug 2023 03:15:16 GMT
État actuel : 16 (Interrompu)
Sortie/erreur standard :

Backup Fibaro Home Center : Sunday 13/08/2023 03:00:02
Sauvegarde avec historique...
...............................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................Erreur : services Fibaro non redémarrés après le timeout de 900 secondes : Service HCServer "Process not running"
title: 'Sauvegarde HC3' is neither mail string key nor i18n format.
Reboot forcé du Home Center...
Box Fibaro rebootée de force



De SynoMain

Est-ce grave docteur ?

Partager ce message


Lien à poster
Partager sur d’autres sites

Il te dit "services Fibaro non redémarrés après le timeout de 900 secondes" c'est clair :)

 

Rassure moi, ta box était bien opérationnelle ce matin ?

Si cela se reproduit régulièrement, il faudra que tu augmentes ton timeout... mais 900s, ça fait 15 minutes, je trouve ça déjà très long...

Partager ce message


Lien à poster
Partager sur d’autres sites

Je n'avais pas vu le message d'erreur, car à la suite d'une suite de .......

Je vais regarder où dans le script je devrais rajouter un CR.

 La box était parfaitement opérationnelle ce matin.

Je n'ai pas trouvé dans les paramètres de la box ce timeout (qui correspond à quoi précisément ?)

Partager ce message


Lien à poster
Partager sur d’autres sites

C'est un paramètre au début du script :)

 

Il parait même que c'est expliqué dans le tuto :lol: ;)

  • Like 1

Partager ce message


Lien à poster
Partager sur d’autres sites

×