8 votes

Comment puis-je savoir si un système a été mis sous tension ?

J'écris un script qui allume un système via le réseau. Et ensuite j'ai besoin d'exécuter quelques commandes sur l'autre hôte. Comment puis-je savoir si le système a été mis sous tension ?

Mon langage de programmation est Perl et l'hôte cible est RHEL5.

Y a-t-il une interruption du noyau ou des informations de démarrage du réseau qui indiquent que le système a été mis sous tension et que le système d'exploitation a été chargé ?

[Dans un autre scénario, je me demandais aussi, au cas où j'allumerais ma machine manuellement, quand est-ce qu'on dit qu'elle a été mise sous tension et quand est-ce que le système d'exploitation est censé avoir démarré complètement pour une opération liée au réseau comme l'exécution d'une commande réseau. Et si le système est sur DHCP, comment un système distant pourrait-il rechercher cette machine [je suppose que c'est possible via l'adresse mac, mais si je me trompe].

Si j'ai oublié des informations, n'hésitez pas à me les demander. Si vous avez des suggestions pour me faciliter la tâche, merci de les communiquer :)

merci imkin

12voto

Tanktalus Points 7940

Eh bien, je dirais que le système est démarré quand il peut effectuer la demande que vous lui avez faite. C'est-à-dire que le démon sshd est lancé. C'est suffisamment démarré pour vos besoins (je suppose - remplacez par n'importe quel démon dont vous avez vraiment besoin).

Donc, j'envoie le signal de mise sous tension, et je vérifie toutes les 15-30 secondes pour voir si je peux me connecter. Si je n'ai pas réussi à me connecter dans un délai raisonnable pour cette machine (2 minutes, 5 minutes ou autre), j'envoie une alerte à l'équipe d'assistance informatique. Je me l'enverrais d'abord à moi-même, et ce n'est qu'après avoir examiné quelques échecs et constaté qu'ils étaient tous légitimes que je commencerais à l'envoyer directement au service informatique.

Le DHCP est une question différente. Il faudrait commencer à se familiariser avec la diffusion, ou faire en sorte qu'un démon sur cette machine "appelle la maison" pendant le démarrage pour enregistrer son adresse IP actuelle. Et il devrait "appeler à la maison" chaque fois qu'un renouvellement DHCP change son adresse IP. C'est décidément plus compliqué. Essayez d'éviter le DHCP sur de telles machines serveurs si possible.

9voto

moritz Points 6295

Sur la machine qui redémarre, vous pouvez installer un script dans votre crontab avec le special @reboot l'assertion (voir man 5 crontab ). Ce script pourrait envoyer une notification quelconque à l'autre machine, l'informant qu'elle est maintenant en service.

7voto

Leon Timmermans Points 23230

Je pense que la vérification de sshd semble être une bonne approche.

Pour ce qui est du problème DHCP, si l'autre ordinateur se trouve sur le même sous-réseau, vous pouvez le rechercher par son adresse MAC en utilisant la fonction Net::ARP .

3voto

Simon Points 14656

Que diriez-vous d'ajouter un script à la machine distante qui s'exécute au démarrage pour qu'elle vous dise quand elle est prête.

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