Ssh innerhalb einer while-Schleife
Version vom 21. Februar 2008, 14:52 Uhr von Robi (Diskussion | Beiträge) (nowiki --> pre / Kommentare verbessert, Hinweise)
Wie benutze ich ssh innerhalb einer while-Schleife, ohne dass sie abbricht?
Ich möchte hier nur ein Beispielscript einfügen, welches das Problem löst:
## Datei mit IP Adressen oder Hostname wird per cat ausgegeben,
## mit grep werden Zeilen, die ein # beinhalten ignoriert und dann
## mit read in die Variable adresse eingelesen
cat datei_mit_IP_ADressen | grep -v "#" | while read -r adresse
do
ssh -x -a root@$adresse "reboot" &
##anstatt reboot kann natürlich jeder Befehl genutzt werden
## zurück zum Schleifenanfang und neue Adresse, bis die Datei abgearbeitet
Achtung: in diesem Beispiel wird der ssh Befehl in den Hintergrund geschickt und somit
nicht auf das Beenden des Befehls gewartet bevor der nächste gestartet wird, hatt zur Folge, das
die ssh-Befehle auf alle Rechner fast gleichzeitig aktiviert werden.
Hinweis: es wird in diesem Beispiel davon ausgegangen, das an den Rechnern eine passwortlose Anmeldung mit ssh( hier als root) eingerichtet ist.