Ich bin es mal wieder und hänge an meinem nächsten Problem....
Das script läuft bis zum Ende durch, allerdings wird die Schleife nur einmal wiederholt, kein zweites oder drittes mal
Ich vermute, das es mit der Statusmeldung des ssh Kommandos liegt.
Allerdings muss ich innerhalb der Schleife das rüberkopierte Programm auch via ssh remote starten. Nur wie kann ich das machen, ohne das die Schleife beim ertsen durchlauf gestoppt und der Rest des Programms ausgeführt wird?
Zur kurzen Erklärung, was das Script machen soll:
1. es liest aus einer Config-Datei IP und Typ aus
2. erstellt dem Typ entsprechend ein Script und kopiert es auf den Rehcner mit der ausgelesenen IP
3. es startet das Script auf den Rechner mit der ausgelesenen IP via ssh.
4. das entfernt gestartete Script liest die Programmversion eines Tools aus und kopiert das Ergebnis per scp auf den Host Server
5. das ganze soll wieder von vorn beginnen, bis das Ende der Config-Datei erreicht ist
Ich hoffe es kann mir wer weiter helfen.
Danke Jo Kurt
Das script läuft bis zum Ende durch, allerdings wird die Schleife nur einmal wiederholt, kein zweites oder drittes mal
Ich vermute, das es mit der Statusmeldung des ssh Kommandos liegt.
Allerdings muss ich innerhalb der Schleife das rüberkopierte Programm auch via ssh remote starten. Nur wie kann ich das machen, ohne das die Schleife beim ertsen durchlauf gestoppt und der Rest des Programms ausgeführt wird?
Code:
while IFS=: read address type
do
echo "Connect to:" $address " copy needed files to: "$type
ifconfig eth0 | grep "addr:" | cut -d ":" -f2 >./temp1.txt
target_addr=`cat ./temp1.txt | cut -d " " -f1`
echo "scp /tmp/*.txt root@"$target_addr":/version" > temp2.txt
echo "rm /tmp/*.txt" > temp4.txt
cat $type.template temp2.txt temp4.txt > ./version_$type.sh
chmod +x ./version_$type.sh
rm ./temp*
scp version_$type.sh root@$address:/tmp
ssh root@$address "/tmp/version_$type.sh" ## <- lässt die Schleife beenden, lass ich die Zeile weg, funktioniert es
sleep 10
rm ./version_$type.sh
done < ./version.cfg
Zur kurzen Erklärung, was das Script machen soll:
1. es liest aus einer Config-Datei IP und Typ aus
2. erstellt dem Typ entsprechend ein Script und kopiert es auf den Rehcner mit der ausgelesenen IP
3. es startet das Script auf den Rechner mit der ausgelesenen IP via ssh.
4. das entfernt gestartete Script liest die Programmversion eines Tools aus und kopiert das Ergebnis per scp auf den Host Server
5. das ganze soll wieder von vorn beginnen, bis das Ende der Config-Datei erreicht ist
Ich hoffe es kann mir wer weiter helfen.
Danke Jo Kurt