5 votes

Vérifier si un serveur est en marche ou non 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.

8voto

DMKing Points 1352

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."

0voto

David Pokluda Points 4284

Vous pouvez essayer d'accéder à l'un de ses partages de systèmes de fichiers ou de le pinger si vous connaissez son adresse IP. Ce serait le moyen le plus simple et les deux sont réalisables à partir de CMD.

0voto

ghostdog74 Points 86060

Pour vérifier si le serveur est en ligne, vous pouvez utiliser la commande ping. Pour envoyer des e-mails, vous pouvez télécharger des outils e-mail comme blat, etc. Pour répéter toutes les 30 minutes, configurez-le en utilisant le planificateur de tâches.

-1voto

mivk Points 1352

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.com

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.

Powered by:

X