Script pour mettre à jour DUNITER (pour les fénéants comme moi)


#1

Salut à tous,

Comme j’ai pas de tête et pas de temps, j’ai créé un petit script qui me pré-mache le boulot quand je dois mettre à jour Duniter sur mon serveur.

Comme ceci doit être utilisé par des gens qui s’y connaisse, et qu’il est assez simple, je ne vais pas m’étendre en explications, je partage, c’est tout :slight_smile:

#!/bin/bash

echo -n "Version de DUNITER : "
duniter -V

echo "check https://git.duniter.org/nodes/typescript/duniter/wikis/Releases"
read -p "Lien de la version à télécharger : " link

mv duniter-server-v*.deb old/
echo "Téléchargement en cours"
wget -q $link

LastVersion=`ls duniter-server-v*.deb | grep duniter-server-v`
echo "Version téléchargée : $LastVersion"

read -p "Installer cette version (o/n)?" choice
case "$choice" in 
  y|Y|o|O ) echo "Installation en cours...";;
  n|N ) exit 1;;
  * ) exit 1;;
esac

#un cron relance duniter toutes les minutes, au cas ou
service cron stop
duniter stop
dpkg -i $LastVersion
service cron start

ps : j’ai également un CRON qui vérifie que le process est actif et le lance si besoin , d’ou la fin du code.
le lien vers l’explication du CRON est ici : Duniter “saute” régulièrement


#2

je me suis permis d’éditer ton post pour mettre en tant que code ce qui l’est, ou au moins une partie de ce qui l’est.

Je te laisse vérifier que je n’ai pas fait de bétise, et ajuster si besoin.

PS : rebooter duniter toute les minutes, ça me semble pouvoir facilement poser problème, notamment si le nœud essai de calculer un block, ou qu’un client essai de lui envoyer des données.


#3

Salut,

Merci beaucoup pour ta modification.
Par contre, j’ai rajouté la fin car le code va jusqu’au “ps” :slight_smile:

Pour répondre à ta question sur le CRON, j’explique mieux :

  • Un CRON lance un script toutes les minutes nommé “check_up_duniter.sh”
  • le script “check_up_duniter.sh” teste si le processus duniter est lancé, SINON il le relance (donc ça ne reboot pas toutes les minutes :slight_smile: )
  • Le script de mise à jour de ce post desactive les CRON pendant la mise à jour de duniter pour éviter qu’il soit relancé en plein milieu de la mise à jour. c’est pour ça que j’en parle mais pour la plupart des gens qui veulent juste un script de mise à jour, il ne faudra pas utiliser les lignes “service cron …”

est-ce plus clair ?


#4

beaucoup plus clair oui :slight_smile: