Ssh innerhalb einer while-Schleife

Aus Linupedia
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.