Page 1 sur 4

[Bash] Pour les adeptes des versions bêta de domoticz (et les autres)

Publié : 23 sept. 2018, 21:32
par papoo
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 à redeployer 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

Code : Tout sélectionner

#/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

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

Publié : 24 sept. 2018, 21:11
par Neutrino
Et je m'emmerdais à faire ça à la main à chaque fois.... Merci papoo :D

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

Publié : 24 sept. 2018, 21:20
par papoo
Neutrino a écrit : 24 sept. 2018, 21:11 Et je m'emmerdais à faire ça à la main à chaque fois.... Merci papoo :D
tout comme moi :D

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

Publié : 25 sept. 2018, 23:15
par Honrap
Pas testé, mais merci papoo.
Je garde en favori.

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

Publié : 08 avr. 2020, 07:49
par Ollivtesteur85
Bonjour,

Merci pour ce programme update qui à l'air fort utile et pratique.

Cependant j'ai un problème permissions denied

une idée ?
j'ai essayé http://www.soft-alternative.com/raspber ... spbian.php

Mais en me connectant a mon raspberry en passant par termius , si j'essaye l'utilisateur root ça ne fonctionne pas .

Merci d'avance

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

Publié : 08 avr. 2020, 08:29
par Ollivtesteur85
Bon je sais pas si j'aurais du faire un post pour ma question , mais vu que j'ai trouvé je l'ajoute ici .
donc pour ceux qui ne le savent pas , comme c'était mon cas il y a 10 min .
une fois qu'on a compilé un programme il faut le rendre utilisable avec la commande :

Code : Tout sélectionner

sudo chmod +x NomProg
et ensuite le démarrer avec la commande

Code : Tout sélectionner

./NomProg
corrigez moi si j'ai dit une bétises

Merci en tout cas pour le programme update,et merci de m'avoir permis d'apprendre de nouvelle chose sur le rasp et domoticz il y a quelque semaine en voyant ce post j'aurais paasé mon chemin en disant c'est pas pour moi …
c'est motivant !

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

Publié : 08 avr. 2020, 09:23
par papoo
merci pour cette precision
heureux que cela fonctionne pour toi

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

Publié : 08 avr. 2020, 19:31
par denis_brasseur
Au vue du grand nombre de message lié à la dernière version beta, ce script prend tout son sens.
Je l'ai mis en place il y a plus d'un an, et cela m'a permit une réinstallation très facile suite au passage sous buster.
Ne dispense pas d'une sauvegarde régulière de la base domoticz

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

Publié : 21 avr. 2020, 14:52
par victor81
bonjour
et merci pour ce script, ... j'ai été moi meme une victime par malaadresse de la nouvelle mise a jour ;)
j'ai cependant un probleme
le script est executtable pas de probleme mais, ... j'ai un probleme:
il arrete bien domoticz mais s'arrete la
en ligne de commande, j'ai cette indication

~ $ sudo ./update
[3;J


backup : 1

Update Beta : 2

Update Release : 3

Restore (/!\efface le repertoire domoticz/!\) : 4

Suppression archive : 5

Q : Quitter le Script

Choix :

1

lancement Backup

[ ok ] Stopping domoticz.sh (via systemctl): domoticz.service.
./update: 114: ./update: Syntax error: Bad fd number


quelqu'un a une idée? :/
merci de votre aide :)

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

Publié : 21 avr. 2020, 15:20
par denis_brasseur
La commande Backup depuis le choix 1 du script va copier le dossier /home/pi/domoticz/ vers l'archive domoticz_backup.tar.gz
A vérifier si /home/pi/domoticz existe, ton chemin peut etre différent..
Ensuite, à vérifier, le fichier de sauvegarde update doit être placé dans le répertoire/home/pi/