[Bash] Pour les adeptes des versions bêta de domoticz (et les autres)
Publié : 23 sept. 2018, 21:32
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
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