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
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 |
#/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