automatisieren: Suchen von nicht verwendeten Servern aus einer Liste von Servern

396
Vinh Nguyen

Ich habe dies auf Stack-Überlauf geschrieben, aber ein Benutzer empfahl, hier zu posten. Entschuldigung für Crossposting:

0 abstimmender Stern

Ich habe in der Schule Zugang zu einigen Linux-Clustern. Manchmal sind sie beschäftigt und manchmal nicht. Normalerweise melde ich mich bei jedem Computer manuell an. Verwenden Sie den Befehl "top", um zu sehen, ob der Server ausgelastet ist (um zu sehen, ob beide Kerne verwendet werden). Von dort aus führe ich mein Programm aus, um einige Server zu verwenden, die meine Berechnungen ausführen können.

Ich möchte diesen Prozess mit einem Skript automatisieren. Angenommen, ich habe eine Liste von Servern, sagen wir Server1 ... Server N. Ich möchte mich bei jedem dieser Server nacheinander anmelden, einen Befehl ausführen (oben?) und eine Liste der nicht verwendeten Server ausgeben (oder den Server ausgeben) Die beiden wichtigsten Prozesse (cpu% für jeden Server).

Anregungen wären sehr dankbar.

2

4 Antworten auf die Frage

1
Ronald Pottol

Nun, ich würde eher w als top verwenden (gibt die Systemlast zurück und wer eingeloggt ist), schaue sich aber um.

1
Vinh Nguyen

Danke für die Vorschläge. Hier ist mein Skript für alle, die daran interessiert sind:

#! /usr/bin/env bash  out=avail.txt rm -f "$HOME/$out" minLoad=1 for h in $(cat "$HOME/listofservers.txt"); do ##w | head -1 | cut -d : -f 5 - | cut -d "," -f 2 - load=`ssh username@$h uptime | cut -d : -f 5 - | cut -d "," -f 2 -` comparison=`expr $load \< $minLoad` if [ comparison ]; then echo "$h" >> "$HOME/$out" ##echo "$load" >> "$HOME/$out" fi done 

PS Wir haben SGE installiert. Was ich jedoch mache, ist bei SGE noch nicht gut. Vielen Dank.

0
bmargulies

Installieren Sie die Sun Grid Engine. Oder Hudson.

0
sntg

Mit den ssh-Tasten können Sie Folgendes tun:

for i in server1 server2 server N do ssh user@$i "uptime"  done 

Der Uptime-Befehl zeigt auch die Last der Box an. Sie können "top -b 1", "w" verwenden ...

Wenn Sie Hilfe bei der Konfiguration von SSH- Schlüsseln benötigen, damit SSH nicht nach einem Kennwort fragt, lesen Sie hier. Wie kann ich SSH einrichten, damit ich mein Kennwort nicht eingeben muss?