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 wiki,
le 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 Pascale,
le 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 Alexandra11,
le 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 Guigui3,
le 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 Ben18,
le 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 copper,
le 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 Morgan17,
le 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