on pingue la passerelle pendant 30 secondes, et si ça merde (pas de réseau pendant 30 secondes) on reboot (ou on fait quoi que ce soit d'autre).
outre le ping, on pourrait également s'amuser à tester de cette manière la présence d'un démon ssh à l'écoute (pratique si on fait joujou avec ssh).
pour faire ça vraiment bien, il faudrait meme tester le code de retour de ping (si le code de retour est 1, l'hôte distant ne répond pas) pour réduire le nombre de cas où l'on reboote. Mais dans le cas général || fait bien l'affaire.
l'intérêt de cette méthode est de ne pas avoir besoin de relancer la commande toutes les 5 minutes (par contre, ne pas oublier d'aller tuer le while quand on a fini) :)
Evidemment, il faut toujours le lancer dans un screen, un nohup ou quoi que ce soit d'autre pour être sûr que la boucle ne meurt pas en meme temps que la session...
# Re: Éviter de perdre le controle d'une machine distante
Posté par nodens . En réponse au message [Terminal] Éviter de perdre le controle d'une machine distante. Évalué à 1.
avec une boucle infinie du genre:
whlie [ true ]; do ping -c 30 <ma passerelle> || reboot; done
on pingue la passerelle pendant 30 secondes, et si ça merde (pas de réseau pendant 30 secondes) on reboot (ou on fait quoi que ce soit d'autre).
outre le ping, on pourrait également s'amuser à tester de cette manière la présence d'un démon ssh à l'écoute (pratique si on fait joujou avec ssh).
pour faire ça vraiment bien, il faudrait meme tester le code de retour de ping (si le code de retour est 1, l'hôte distant ne répond pas) pour réduire le nombre de cas où l'on reboote. Mais dans le cas général || fait bien l'affaire.
l'intérêt de cette méthode est de ne pas avoir besoin de relancer la commande toutes les 5 minutes (par contre, ne pas oublier d'aller tuer le while quand on a fini) :)
Evidemment, il faut toujours le lancer dans un screen, un nohup ou quoi que ce soit d'autre pour être sûr que la boucle ne meurt pas en meme temps que la session...