Ssh innerhalb einer while-Schleife

Aus Linupedia.org
Version vom 21. Februar 2008, 14:52 Uhr von Robi (Diskussion | Beiträge) (nowiki --> pre / Kommentare verbessert, Hinweise)
(Unterschied) ← Nächstältere Version | Aktuelle Version (Unterschied) | Nächstjüngere Version → (Unterschied)
Wechseln zu: Navigation, Suche

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.