Ssh innerhalb einer while-Schleife: Unterschied zwischen den Versionen

Aus Linupedia.org
Wechseln zu: Navigation, Suche
(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, das das Problem löst:
+
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 -r ausgelsen
+
----
cat datei_mit_einträge | grep -v "#" | while read -r adresse
+
 
 +
 
 +
<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" &  
done ## zurück zum Schleifenanfang und wieder von vorne, bis die Datei keine Daten mehr hat
+
        ##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.