Outils pour utilisateurs

Outils du site


homeserver:olinolinux

Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

Les deux révisions précédentesRévision précédente
Prochaine révision
Révision précédente
homeserver:olinolinux [2025/08/30 16:47] – [Script de test service] cyrillehomeserver:olinolinux [2025/08/31 07:21] (Version actuelle) – [Script de test service] cyrille
Ligne 896: Ligne 896:
 </code> </code>
 Le script Le script
-<code | download> +<code | download>#!/bin/bash
-#!/bin/bash+
 SERVICE=$1 SERVICE=$1
 DATE=$(date) DATE=$(date)
Ligne 905: Ligne 904:
 SUJET_UP_2="$DATE: Service $1 redémarré" SUJET_UP_2="$DATE: Service $1 redémarré"
 SUJET_DOWN_2="$DATE : Service $1 toujours mort. Redémarrage serveur" SUJET_DOWN_2="$DATE : Service $1 toujours mort. Redémarrage serveur"
-DESTINATAIRE="adresse1@XXXX.YY, adresse2@WWWW.ZZ"+DESTINATAIRE="adresse1@XXXX.YY, adresse2@ZZZZ.WW" 
 +ADMIN="$DATE : Une tâche d'admin est en cours, on quitte."
  
-if (systemctl is-active --quiet "$SERVICE"); then 
- # Le serice est actif, on passe 
-        echo -e $SUJET_UP 
- #echo "$SUJET_UP" >> "/var/log/etat_service_$SERVICE" 
  
-        # mail DEBUG 
-        echo  "$CORPS" | mail -s "$SUJET_UP" "$DESTINATAIRE" 
  
- else +if (/usr/bin/ps -C apt-get,dpkg,apt,aptitude,yunohost >/dev/null); then 
-Le service est planté, on inscrit dans le log +Un processus d'admin est en cours, on quitte 
-        #echo -e $SUJET_DOWN + echo "$ADMIN" >> "/var/log/etat_service_$SERVICE" 
- #echo "$SUJET_DOWN" >> "/var/log/etat_service_$SERVICE" + exit 1 
- # On envoie mail alerte service down +  
-        echo  "$CORPS" | mail -s "$SUJET_DOWN" "$DESTINATAIRE" +else 
-        # On tente de redémarrer le service +Sinon, on teste
-        /usr/bin/systemctl restart  "$SERVICE".service 2> /dev/null +
-On attend 10 secondes avant nouvel essai +
- sleep 10+
  
- # On resteste voir si le service a bien été redémarré, sinon on reboote + if (systemctl is-active --quiet "$SERVICE"); then 
- if (systemctl is-active --quiet "$SERVICE"); then + exit 1 
- # Le service a bien redémarré, on l'inscrit dans les logs + # Le serice est actif, on passe 
- # echo -e $SUJET_UP_2 + # echo -e $SUJET_UP 
- echo "$SUJET_UP_2" >> "/var/log/etat_service_$SERVICE" + # echo "$SUJET_UP" >> "/var/log/etat_service_$SERVICE" 
- # mail DEBUG +         # mail DEBUG 
- echo  "$CORPS" | mail -s "$SUJET_UP_2" "$DESTINATAIRE"+ # echo  "$CORPS" | mail -s "$SUJET_UP" "$DESTINATAIRE" 
 + 
 + else 
 + # Le service est planté, on inscrit dans le log 
 +         # echo -e $SUJET_DOWN 
 + # echo "$SUJET_DOWN" >> "/var/log/etat_service_$SERVICE" 
 + # On envoie mail alerte service down 
 +         echo  "$CORPS" | mail -s "$SUJET_DOWN" "$DESTINATAIRE" 
 +         # On tente de redémarrer le service 
 +         /usr/bin/systemctl restart  "$SERVICE".service 2> /dev/null 
 + # On attend 10 secondes avant nouvel essai 
 + sleep 10 
 + 
 + # On resteste voir si le service a bien été redémarré, sinon on reboote 
 + if (systemctl is-active --quiet "$SERVICE"); then 
 + # Le service a bien redémarré, on l'inscrit dans les logs 
 +     # echo -e $SUJET_UP_2 
 + echo "$SUJET_UP_2" >> "/var/log/etat_service_$SERVICE" 
 + # mail DEBUG 
 +         echo  "$CORPS" | mail -s "$SUJET_UP_2" "$DESTINATAIRE"
  else  else
- # Le service est toujours planté, on inscrit le reboot du serveur dans les logs + # Le service est toujours planté, on inscrit le reboot du serveur dans les logs 
- # echo -e $SUJET_DOWN_2 + # echo -e $SUJET_DOWN_2 
- echo "$SUJET_DOWN_2" >> "/var/log/etat_service_$SERVICE"+ echo "$SUJET_DOWN_2" >> "/var/log/etat_service_$SERVICE"
  
- # mail alerte du reboot du serveur + # mail alerte du reboot du serveur 
-                 echo  "$CORPS" | mail -s "$SUJET_DOWN_2" "$DESTINATAIRE"+         echo  "$CORPS" | mail -s "$SUJET_DOWN_2" "$DESTINATAIRE"
  
- # On attend 5 secondes et on redémarre le serveur + # On attend 5 secondes et on redémarre le serveur 
- sleep 5 + sleep 5 
- /usr/sbin/reboot + /usr/sbin/reboot 
- fi+ fi 
 + fi
 fi fi
 </code> </code>
homeserver/olinolinux.1756572477.txt.gz · Dernière modification : de cyrille