Script pour les e-mails d'alerte et de ping
J'ai besoin d'aide pour mettre à jour ce script pour si la commande ping échoue, elle enverrait une autre table de ping à un hôte (en plus de l'email qui vous est envoyé maintenant si la commande ping échoue).
Comment cela peut-il être fait à partir de ce script?
#!/bin/bash
HOSTS="IP ADRESS"
COUNT=4
for myHost in $HOSTS
do
count=$(ping -c $COUNT $myHost | grep 'received' | awk -F',' '{ print $2 }' | a$
if [ $count -eq 0 ]; then
# 100% failed
echo "Server failed at $(date)" | mail -s "Server Down" myadress@gmail.com
echo "Host : $myHost is down (ping failed) at $(date)"
fi
done
- quelle est la question ? voulez-vous l'e-mail envoyé si les deux échouent ?
- J'aime recevoir un mail si IP1 échoue, et puis je pensais que IP2 obtenir une table de ping <et démarre avec wol>.Je constate que cela ne marche pas car il faut utiliser wakeonlan+MAC, pas juste un ping. Ou cela peut-il être fait avec seulement ping?? Donc, si wakonland de commande doit être utilisée à la place: IP1 échoue à obtenir un e-mail - IP2 obtient "wakonlan 1:2:3:4:5:6" et démarre. Juste besoin de recevoir du courrier si IP1 échoue...
Vous devez vous connecter pour publier un commentaire.
Vous pouvez mettre le
ping
trucs dans une fonction. Vous n'avez pas besoin de processus (grep
) leping
résultat: vous pouvez compter surping
retour statut de sortie.$myHost
échoue, c'est une variable locale. Et si vous faites un retour dans lefor
boucle, l'adresse IP ne sera jamais exécutée.echo $myHost
était OK parce que la fonctionpingtest
l'utilise comme une variable globale au sein de l'bash
script. Ensuite, j'ai rollbacked à l'initiale de minuscules script. Mais je l'ai enlevé$myHost
parce qu'il n'a pas de sens: tous les$HOSTS
échoué (pas seulement$myHost
). Des acclamations.Essayer cela avec un tableau:
for myHost in $HOSTS
est correct.IP_ADDRESS
a échoué, il permet d'imprimer les lignes que vous voulais. Elle définit ensuite la$myHost
variable à l'adresse IP dans le tableau. Connecte ensuite à elle. Quoi qu'il arrive, il fait une boucle parcourant chaque élément dans le tableau.