J'ai un service Windows qui se ferme de manière inattendue tous les quelques jours. Existe-t-il un moyen simple de le surveiller pour s’assurer qu’il redémarre rapidement en cas de plantage?
57
J'ai un service Windows qui se ferme de manière inattendue tous les quelques jours. Existe-t-il un moyen simple de le surveiller pour s’assurer qu’il redémarre rapidement en cas de plantage?
Sous l'application Services, sélectionnez les propriétés du service en question.
Affichez l'onglet de récupération - il y a toutes sortes d'options - je configurerais Première et deuxième échecs pour redémarrer le service, Troisième pour exécuter un programme de traitement par lots qui BLAT envoie un courrier électronique avec la troisième notification d'échec.
Vous devez également définir le nombre d'échecs de réinitialisation sur 1 pour réinitialiser le nombre d'échecs chaque jour.
MODIFIER:
On dirait que vous pouvez le faire via une ligne de commande:
SC failure w3svc reset= 432000 actions= restart/30000/restart/60000/run/60000
SC failure w3svc command= "MyBatchFile.cmd"
Votre fichier MyBatchFile.CMD peut ressembler à ceci:
blat - -body "Service W3svc Failed" -subject "SERVICE ERROR" -to [email protected] -server SMTP.Example.com -f [email protected]
SC failure w3svc command= "MyBatchFile.cmd"
cela devrait être dans le chemin ou C: \ Windows \ System32. Vous pouvez le mettre dans n'importe quel répertoire si vous utilisez un chemin complet, c'estSC failure w3svc command= "c:\Stuff\MyBatchFile.cmd"
Ouvrez Services.msc, double-cliquez sur le service pour ouvrir les propriétés du service. Il existe un onglet Récupération. Ces paramètres devraient vous permettre de redémarrer le service en cas d’échec.
la source
Essayez de régler le temps de récupération à zéro:
L'équivalent en ligne de commande:
SC failure YOUR_SERVICE_NAME reset= 0 actions= restart/0/restart/0/restart/0
Quoi qu'il en soit, la récupération automatique ne fonctionne parfois pas correctement et il est recommandé d'utiliser un logiciel tiers. Il semble que lorsque le service quitte normalement le code de sortie de 0, Windows ne tente pas de le récupérer.
la source
J'utilise ServiceKeeper sur mon serveur Windows 2008 à HostForLife.eu et cela fonctionne très bien. Auparavant, j'avais une critique sur ServiceHawk, mais je préfère utiliser ServiceKeeper pour sa gestion et son interface plus faciles.
la source
J'ai eu la même exigence de démarrer un service si arrêté. La solution la plus simple à laquelle je pensais était d'exécuter la commande ci-dessous dans le planificateur de tâches Windows toutes les 5 minutes:
net start MyServiceName
Cette commande démarrera le service (si elle est arrêtée) et n'a aucun effet si le service est déjà en cours d'exécution.
la source
J'ai récemment mis en œuvre une option de récupération pour exécuter un script PowerShell qui tente de redémarrer le service un nombre défini de fois et envoie une notification par courrier électronique à la conclusion.
Après plusieurs tentatives (et malgré tout ce que j'ai vu), la configuration des champs de l'onglet de récupération dans les services est la suivante:
Programme: Powershell.exe
** pas C: \ Windows \ System32 \ WindowsPowerShell \ v1.0 \ Powershell.exe
Paramètres de ligne de commande: -command "& {SomePath \ YourScript.ps1 '$ args [0]' '$ args [1]' '$ args [n]'}"
Par exemple: -command "& {C: \ PowershellScripts \ ServicesRecovery.ps1 'Nom du service'}"
** Les $ args sont des paramètres qui seront transmis à votre script. Ce ne sont pas nécessaires.
voici le script powershell:
la source
Ce fut ma réponse sur un fil similaire J'espère que cela aide ...
Vous pouvez planifier un script VBS simple comme celui-ci pour redémarrer périodiquement le service sur l'ordinateur si nécessaire.
la source
Quelqu'un a posé une question similaire chez le super utilisateur: Vous pourriez installer un outil qui surveille les services Windows. Quelque chose comme Service Hawk pourrait vous aider à garder les services démarrés ou vous permettre de planifier des redémarrages automatiques (éventuellement pendant la nuit) pour que le service continue de fonctionner correctement.
la source