In einer TXT-Datei befindet sich eine Liste mit IP-Adressen, z.
1.1.1.1
2.2.2.2
3.3.3.3
Hinter jeder IP-Adresse steht ein Server und auf jedem Server läuft ein SSHD auf Port 22. Nicht jeder Server ist in der known_hosts
Liste (auf meinem PC Ubuntu 10.04 LTS / bash).
Wie kann ich Befehle auf diesen Servern ausführen und die Ausgabe erfassen?
Idealerweise möchte ich die Befehle auf allen Servern parallel ausführen.
Ich verwende die Authentifizierung mit öffentlichem Schlüssel auf allen Servern.
Hier sind einige mögliche Fallstricke:
- Der SSH fordert mich auf, den angegebenen SSH-Schlüssel des Servers in meine
known_hosts
Datei zu übernehmen. - Die angegebenen Befehle geben möglicherweise einen Exit-Code ungleich Null zurück, der angibt, dass die Ausgabe möglicherweise ungültig ist. Ich muss das erkennen.
- Eine Verbindung zu einem bestimmten Server kann möglicherweise nicht hergestellt werden, z. B. aufgrund eines Netzwerkfehlers.
- Es sollte eine Zeitüberschreitung geben, falls der Befehl länger als erwartet ausgeführt wird oder der Server während der Ausführung des Befehls ausfällt.
Die Server sind AIX / ksh (aber ich denke, das ist eigentlich egal.