Ssh innerhalb einer while-Schleife: Unterschied zwischen den Versionen
JoKurt (Diskussion | Beiträge) |
Robi (Diskussion | Beiträge) (nowiki --> pre / Kommentare verbessert, Hinweise) |
||
(3 dazwischenliegende Versionen von einem anderen Benutzer werden nicht angezeigt) | |||
Zeile 1: | Zeile 1: | ||
Wie benutze ich ssh innerhalb einer while-Schleife, ohne dass sie abbricht? | Wie benutze ich ssh innerhalb einer while-Schleife, ohne dass sie abbricht? | ||
− | Ich möchte hier nur ein Beispielscript einfügen, | + | 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 read | + | ---- |
− | cat | + | |
+ | |||
+ | <pre> | ||
+ | ## 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 | do | ||
− | ssh -x -a root@$adresse "reboot" & ##anstatt reboot kann natürlich jeder Befehl genutzt werden | + | 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 | |
+ | </pre> | ||
+ | |||
+ | |||
+ | '''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 [[Einrichten von public keys mit ssh|passwortlose | ||
+ | Anmeldung mit ssh]]( hier als root) eingerichtet ist. | ||
+ | |||
+ | ---- | ||
+ | [[Category:Konsole]] |
Aktuelle Version vom 21. Februar 2008, 14:52 Uhr
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.