Ssh innerhalb einer while-Schleife: Unterschied zwischen den Versionen
JoKurt (Diskussion | Beiträge) |
Robi (Diskussion | Beiträge) (nowiki --> pre / Kommentare verbessert, Hinweise) |
||
| (2 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.