[Accueil] - [Plan du site] - [Rechercher] - [ C O L R T S P ]  

 
Ouvrir une application en ligne de commande sur plusieurs ordinateurs
Utiliser screen pour suivre un cluster en une seule commande 

par nojhan le 21 septembre 2008

J’ai fait ce script pour suivre les processus lancés sur un cluster de machines sous linux. L’idée est de pouvoir lancer une commande (ici, htop) sur toutes les machines, d’un seul coup, en gardant une fenêtre ouverte pour suivre ce qu’il se passe.

L’utilisation de screen permet de faire ça simplement pour des applications en ligne de commande.

Le script est en python, il ne sert qu’à créer à la volée un fichier de commande pour screen.


# La configuration de base
cmd = "htop"
hosts = ["ordi1","ordi2"]
h_from = 0
h_to = 1

# fichier screenrc temporaire
tmpf = "_screenrc"
f = open( tmpf, 'w' )

#
# D'abord, on lance la première fenêtre,
# sans split
#

# lancement de la commande dans un screen via SSH
f.write( "screen ssh -t %s %s \n" % (hosts[h_from], cmd) )

# titre de la fenêtre
f.write( "title " + hosts[h_from] + "\n" )

#
# Ensuite on peut lancer les suivantes,
# en splitant
#
for h in xrange( h_from+1, h_to+1 ) :
   # séparation de la fenêtre en 2
   f.write( "split" + "\n"  )
   # passage à la fenêtre suivante
   f.write( "focus down"  + "\n" )
   
   call = "ssh -t %s %s" % ( hosts[h], cmd )
   f.write( "screen "+call  + "\n" )
   f.write( "title " + hosts[h] + "\n" )
   # focus sur la fenêtre suivante
   f.write( "select %s \n" % hosts[h] )

#
# commandes de pure forme
#
# Tout quitter d'un seul coup
f.write( "bind Q quit" + "\n" )

# Jolie ligne de status
f.write("hardstatus alwayslastline \"%{=b}%{g}%h %{r}<%w> %=%{y}%c  %Y-%m-%d (%D)\"")

f.close()

# hop, on lance screen en utilisant les commandes définies
os.system( "screen -c _screenrc" )

Notez que ce script n’utilise pas la capacité de split vertical des toutes dernières versions de screen, ce qui serait pourtant plus élégant.


Commentaires

Par wikile 11 février 2014 : Ouvrir une application en ligne de commande sur plusieurs ordinateurs
The mandate policy is, at its breast, merely a arrange where you variety mandates to the machine. The calculator is your comply helper, also volition effort to transmit absent some restrain that it realizes. research design services - research design services
Par Pascalele 16 janvier 2014 : Ouvrir une application en ligne de commande sur plusieurs ordinateurs
On constate la maîtrise quand on va sur ce site web, j’espère moi aussi attirer quantité de visiteurs grâce à ma page perso ! Pascale du portail sur les comparatif banque
Par Alexandra11le 5 décembre 2013 : Ouvrir une application en ligne de commande sur plusieurs ordinateurs
J’ai pu m’aider de votre post durant un débat avec ma mère, parfait ! Alexandra du guide sur les banque
Par Guigui3le 19 novembre 2013 : Ouvrir une application en ligne de commande sur plusieurs ordinateurs
Votre texte a été utile pour étayer mes propos et ainsi assurer un ami du bien-fondé de mon opinion à ce sujet ! Guilla , chez www.banqueenligne2013 .com
Par Ben18le 18 novembre 2013 : Ouvrir une application en ligne de commande sur plusieurs ordinateurs
Lorsque je vois votre publication, vous m’apportez la motivation indispensable pour reprendre le stylo, de temps en temps ! Zut, au fait : j’ai constaté quelques programmes vérolés par endroit, vous devriez peut-être accéder à de la doc au sein de sites web comme www.univ-antivirus.fr (avast antivirus gratuit). Ben

    Par copperle 16 juillet 2014 : Ouvrir une application en ligne de commande sur plusieurs ordinateurs
    even though the python commands are difficult to execute I still managed to understand the codes in the script. What I felt after reading is that the screen can be used more for reading the python scripts. Thanks for the work !! Pajar boots reviews
Par Morgan17le 17 novembre 2013 : Ouvrir une application en ligne de commande sur plusieurs ordinateurs
L’ergonomie de ce website m’apporte des idées pour la réalisation du mien, sans imitation rassurez-vous. Morgan du site abordant la comparatif banques

Articles populaires

[Accueil] - [Plan du site] - [Rechercher] - [Admin.]       SPIP:Squelette