bash : pour les adeptes des versions bêta de domoticz (et les autres)

Bonjour
afin de pouvoir revenir à la version bêta (ou release) antérieure en cas de dysfonctionnement de la derniere installée, j’ai collecté au sein d’un seul fichier bash tout ce qui est nécessaire à cette restauration, sans avoir à redéployer une image disque de la carte SD

Ce script propose donc :
Choix 1 > backup du répertoire domoticz complet
Choix 2 > Update vers la derniere version bêta disponible
Choix 3 > Update vers la derniere version stable disponible
Choix 4 > Restauration de la version sauvegardée (si bien sur vous l’avez effectuée au préalable)
Choix 5 > Suppression de l’ancienne sauvegarde si elle n’est plus nécessaire (avant d’en faire une nouvelle donc)

Ce script désactive temporairement le service monit (commentez les lignes 5 et 10 si vous n’utilisez pas monit) et le service domoticz pour effectuer la sauvegarde.

il doit être placé dans le répertoire/home/pi/ et être nommé update (sans extension)
il vous suffit ensuite de taper ./update en ligne de commande pour accéder à ce menu

le script complet

#/bin/bash
# auteur = papoo
# 23/09/2018
# https://pon.fr/bash-pour-les-adeptes-des-versions-beta-de-domoticz-et-les-autres
# https://easydomoticz.com/forum/viewtopic.php?f=17&t=7179
# script à placer dans le répertoire /home/pi/

fct_stop ()
{
    sudo /etc/init.d/monit stop
    sudo /etc/init.d/domoticz.sh stop
}
fct_start ()
{
    sudo /etc/init.d/monit start
    sudo /etc/init.d/domoticz.sh start
}
fct_update ()
{
echo
echo
echo "backup : 1"
echo
echo "Update Beta : 2"
echo
echo "Update Release : 3"
echo
echo "Restore (/!\efface le repertoire domoticz/!\) : 4"
echo
echo "Suppression archive : 5"
echo
echo "Q : Quitter le Script"
echo
echo "Choix : "
echo
read optionmenu
    case $optionmenu in
    1)
        echo
        echo "lancement Backup"
        echo
        ### make backup
        fct_stop
        sudo /bin/tar -zcvf domoticz_backup.tar.gz /home/pi/domoticz/ >&/dev/null

        ### copy backup to backup folder
        #sudo /bin/cp /tmp/domoticz_total_$CONCAT.tar.gz $DESTINATION > /dev/null

        ### Remove temp backup file
        #sudo /bin/rm /tmp/domoticz_total_$CONCAT.tar.gz > /dev/null
        #sudo /bin/rm -Rf /tmp/*.tar.gz > /dev/null
        sleep 5
        echo "backup termine relance service domoticz"
        fct_start
        fct_update;;
    2)
        echo
        echo "lancement updatebeta"
        echo
        cd /home/pi/domoticz/
        sudo /bin/bash /home/pi/domoticz/updatebeta >&/dev/null;
        sleep 5;;
    3)
        echo
        echo "lancement updaterelease"
        echo
        cd /home/pi/domoticz/
        sudo /bin/bash /home/pi/domoticz/updaterelease >&/dev/null;
        sleep 5;;
    4)
        echo
        echo "lancement restoration"
        fct_stop
        echo
        if [ -f "/home/pi/domoticz_backup.tar.gz" ]
        then
            echo "le fichier domoticz_backup.tar.gz existe"
            echo "Suppression du repertoire domoticz et de son contenu"
            #sudo rm -rf domoticz
            cd
            sudo /bin/tar -xzvf domoticz_backup.tar.gz>&/dev/null;
            sudo /bin/cp -r /home/pi/home/pi/domoticz/ /home/pi/;
            sudo chown -Rf pi /home/pi/domoticz/
            sudo rm -rf /home/pi/home/;
        else
            echo "attention pas de fichier archive"
            echo "Executer option 1"
        fct_update            
        fi
        fct_start
        sleep 5;;

    5)
        echo
        echo "Suppression archives"
        echo 
        sudo /bin/rm -Rf domoticz_backup.tar.gz > /dev/null
        sleep 5
        fct_update;;
    Q)
        fct_start
        exit;;
    q)
        fct_start
        exit;;
    *)
        echo
        echo "erreur de frappe"
        echo
        fct_update;;
        esac
}
    clear
    fct_update

retrouver la dernière version de ce script sur



 Site Officiel :   github.com

Laisser un commentaire