Script pour éteindre les machines

Script pour éteindre les machines - Codes et scripts - Linux et OS Alternatifs

Marsh Posté le 15-05-2008 à 09:31:13    

Bonjour,
je poste ce sujet pour vous demander un peu d'aide, en effet je ne vous demande pas un script tout fait, mais juste savoir si c'est possible, et comment.
Voila le problème, j'aimerai à partir de ma machine, éxecuter le script qui éteindrait les machines qui sont sur mon réseau, et ceci à une heure précise tout les jours. En sachant qu'elles ne sont peut être pas toutes allumées lors de l'execution.
Voila j'attends vos réponses :)
 
Merci d'avance.

Reply

Marsh Posté le 15-05-2008 à 09:31:13   

Reply

Marsh Posté le 15-05-2008 à 09:33:04    

Oui c'est possible. Via SSH + cron par exemple.


---------------
Relax. Take a deep breath !
Reply

Marsh Posté le 15-05-2008 à 09:39:29    

D'accord. Je vais m'y mettre alors. Je posterai si j'ai besoin de plus d'aide ;)
Merci

Reply

Marsh Posté le 15-05-2008 à 09:40:44    

Pour te logguer sur des machines, utilises le mécanisme de clé, ca sera plus simple pour le mettre dans un cron.

 

Ton parc est homogène ? Quels OS sont présents ?


Message édité par o'gure le 15-05-2008 à 09:47:55

---------------
Relax. Take a deep breath !
Reply

Marsh Posté le 15-05-2008 à 09:45:48    

Merci pour le conseil, le parc est homogène oui, toutes les machines tournent sous Mandriva.

Reply

Marsh Posté le 15-05-2008 à 09:51:19    

Au départ je pensais lancer le script à partir du déploiement de OCS Inventory que j'ai récemment installé. Mais je ne vois pas comment je peut fixer l'heure, à part lancer le déploiement à l'heure d'extinction voulue.
 
 
EDIT : Je viens de voir que dans la commande shutdown il est possible de mettre une heure en paramètre, tu penses que c'est plus facile de faire comme ça ?

Message cité 1 fois
Message édité par mimix08 le 15-05-2008 à 09:59:12
Reply

Marsh Posté le 15-05-2008 à 10:27:08    

mimix08 a écrit :

Au départ je pensais lancer le script à partir du déploiement de OCS Inventory que j'ai récemment installé. Mais je ne vois pas comment je peut fixer l'heure, à part lancer le déploiement à l'heure d'extinction voulue.
 
 
EDIT : Je viens de voir que dans la commande shutdown il est possible de mettre une heure en paramètre, tu penses que c'est plus facile de faire comme ça ?


 
C'est pas un temps dans la commande shutdown plutôt ?
Genre dans x secondes ?
 
Mais la crontab doit pouvoir t'aider pour une heure fixe par contre.


---------------
Il y a trois sortes de mensonges : les mensonges, les gros mensonges et les statistiques !
Reply

Marsh Posté le 15-05-2008 à 10:30:26    

SHUTDOWN(8)            Manuel de l'administrateur Linux            SHUTDOWN(8)
 
NOM
       shutdown - arrêter le système.
 
SYNOPSIS
       /sbin/shutdown [-t sec] [-arkhncfF] heure [message-avertissement]
 
 
  L'argument  heure  peut  avoir  différents formats. Primo, il peut être
       dans le format absolu hh:mm,  dans  lequel  hh  est  l'heure  (1  ou  2
       chiffres)  et  mm la minute de l'heure (sur deux chiffres). Secundo, il
       peut être au format +m, dans lequel m est le nombre de minutes à atten‐
       dre. Le mot now est un synonyme pour +0.

Reply

Marsh Posté le 15-05-2008 à 11:46:21    

Pas d'autres idées ?!

Reply

Marsh Posté le 15-05-2008 à 11:58:13    

a mon avis la meilleur solution reste un script cronné qui fait des shutdown via SSH.
Tu le fais depuis une machine vers toutes les autres comme ca c est plus simple a maintenir


---------------
Never f**k with your systems administrator. Why? Because they know what you do with all that free time! |?? | SAVE Jericho !
Reply

Marsh Posté le 15-05-2008 à 11:58:13   

Reply

Marsh Posté le 15-05-2008 à 11:59:57    

Ok je te remercie, je vais garder cette solution alors ;)
 
 
Je pense avoir réussi, j'ai générer les clés sur ma machine puis ai copié la clé publique dans authorized_keys sur toutes les machines, à partir de là plus besoin de pass pour le ssh.
Ensuite petit script tout simple qui regroupe toutes les commandes :
 
#! /bin/sh
ssh 172.31.26.63 shutdown -h now
ssh 172.31.26.64 shutdown -h now
ssh 172.31.26.65 shutdown -h now
......
 
Et ça fonctionne.
Merci pour vos conseils


Message édité par mimix08 le 15-05-2008 à 14:59:10
Reply

Marsh Posté le 15-05-2008 à 15:31:07    

Au lieu de déployer un script qui éteind les machines, déploie un script qui installe dans la crontab un script qui éteind la machine. Comme ça tu n'as pas besoin de te logger sur chaque machine chaque jour.

Reply

Marsh Posté le 15-05-2008 à 15:39:46    

tu as plusieur facons :
  - un script que tu cron sur une machine centrale qui fait un truc du genre : ssh hostname "shutdown"
 
  - un truc peu plus complexe a base de 2 scripts un manager qui fait les requetes d execution d un autre script qui lui est sur les serveur a eteindre.


---------------
Never f**k with your systems administrator. Why? Because they know what you do with all that free time! |?? | SAVE Jericho !
Reply

Marsh Posté le 15-05-2008 à 15:42:16    

matafan a écrit :

Au lieu de déployer un script qui éteind les machines, déploie un script qui installe dans la crontab un script qui éteind la machine. Comme ça tu n'as pas besoin de te logger sur chaque machine chaque jour.

 

mouais, je suis pas trop adept, je prefere un ordonnanceur centralisé c'est plus facil a gerer je trouve


Message édité par Le_Tolier le 15-05-2008 à 17:37:04

---------------
Never f**k with your systems administrator. Why? Because they know what you do with all that free time! |?? | SAVE Jericho !
Reply

Marsh Posté le 15-05-2008 à 16:00:16    

Comme le_Tolier.
Le mieux c'est d'avoir des fichier de conf avec toutes tes machine par groupe (genre la liste des serveurs Oracle, des serveurs truc, des station, etc) et de lancer ton script avec un de ces fichiers en paramètre.
 
Par contre attention si une machine est planté ou au tas ton ssh risque de bloquer, donc il faut au choix :  
-réduire le timeout de ssh.conf (coté client).
-tester que la machine est bien dispo avant de lancer la commande.
-faire des traitements en // sachant qu'il faut dans ce cas faire très attention à la gestion du fichier de log qui va être complètement pourrie vu que les connexions vont être toutes mélangés.
 
Voir les 3 c'est le mieux, par ce que par expérience si t'as un serveur à moitié planté ton ssh peut rester bloquer pendant très longtemps donc ton script peut rester planter avec la moitier de tes serveurs pas eteints.


---------------
Il y a trois sortes de mensonges : les mensonges, les gros mensonges et les statistiques !
Reply

Marsh Posté le 19-05-2008 à 15:47:55    

Merci pour vos conseils. Je vais essayer tout ça et voir ce qui fonctionne le mieux

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed