Je dois vérifier si un serveur est en marche ou non? Si non, alors je dois envoyer un e-mail Et cette tâche doit être répétée toutes les 30 minutes.
Je dois faire cela en utilisant un fichier batch.
Je dois vérifier si un serveur est en marche ou non? Si non, alors je dois envoyer un e-mail Et cette tâche doit être répétée toutes les 30 minutes.
Je dois faire cela en utilisant un fichier batch.
Ce fichier batch vous emmènera presque jusqu'au bout. Vous devrez utiliser blat ou quelque chose de similaire ou un script Windows pour envoyer l'e-mail. Utilisez le planificateur de tâches pour appeler le fichier batch toutes les 30 minutes.
checkserver.bat:
@echo off
ping -n 1 %1 > NUL
IF ERRORLEVEL 0 (echo "En ligne - Ne pas envoyer d'e-mail.") ELSE echo "Hors ligne - Envoyer un e-mail."
Appelez-le de cette manière :
C:\>checkserver 127.0.0.1
"En ligne - Ne pas envoyer d'e-mail."
C:\>checkserver 128.0.0.1
"Hors ligne - Envoyer un e-mail."
Vous pouvez vérifier si la machine répond au ping
. Mais parce que le ping sur Windows ne renvoie pas un %errorlevel%
utile, vous devez rediriger sa sortie à travers find
.
Exemple:
ping -4 -n 2 VotreIPouNomHôte | find "TTL=" >NUL && echo OK
ou
ping -4 -n 2 VotreIPouNomHôte | find "TTL=" >NUL || echo Pas de réponse
Pour envoyer un email, vous avez besoin d'un programme supplémentaire.
(si vous avez également une machine Unix sur votre réseau, tout serait beaucoup plus facile à partir de là, puisque le planificateur "crontab" envoie automatiquement des emails)
Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.