Shell Script ssh Frage

Flockyflo

Lieutenant
Registriert
Okt. 2008
Beiträge
977
Hey Leute, hab ein kleines Problem mit einem Shell Script.

Ich will zuerst mehrere Befehle auf PC 1 ausführen, dann mit ssh auf PC 2 gehen und dort wieder mehrere Befehle ausführen.

Befehl:
#!/bin/bash
echo "echo1"
echo "echo2"
ssh PC2
echo "echo3"
echo "echo4"


Um es mal einfach auszudrücken^^

Nach dem Start zeigt er mir auch "echo1" und "echo2" an, connectet sich auf PC2 und bleibt dann stehen.
Er hängt sich nicht auf, sondern betrachtet das Script als abgeschlossen.

Jemand ne Idee, was ich diesmal falsch gemacht habe?^^
 
also wenn das dein script ist, dann fehlt doch da noch das login auf dem remote....
sprich benutzer-anmeldung....

EDIT: Sry hast wohl mit Keys gemacht was?

EDIT2: Probier mal folgendes:

Code:
#!/bin/bash
echo "echo1"
echo "echo2"
ssh PC2 echo "echo3" echo "echo4"
exit
 
Zuletzt bearbeitet:
Ja, ich habs mit den Public Keys gemacht, also der connect funktioniert schon...bzw. funktionierte^^

Bei deinem Befehl kommt jetzt folgendes dabei raus:

echo1
echo2
echo3 echo echo4

Das exit hab ich übrigends weggelassen, da ich erstmal wollte, das die restlichen Befehle funktionieren. Übrigends gibt er jetzt alles auf PC1 aus und connectet sich nicht mal mehr auf PC2
 
dann geht es meines wissens nur, dass du das script in zwei teilst und den zweiten teil auf den remote pc kopierst und dann das script dort als anhang an die ssh-anmeldung ausführst

also folgendes:
echo "echo1"
echo "echo2"
ssh PC2 script2

und das script2 liegt auf PC2 und hat
echo "echo3"
echo "echo4"
als Inhalt...
 
Hab jetzt doch ne kleine Planänderung gemacht, da ich das mit dem ssh nicht hinbekommen habe. Jetzt bekommt eben pc2 ein extra script mit conjob.^^

Danke für deine Hilfe :)
 
hab ich ja gemeint, dass pc2 ein extra script hat und du dieses dann remote aufrufst im script auf pc1....
 
Hmm, falsch ausgedrückt, sry^^

Also, deine Methode hat leider nicht funktioniert. Deswegen werde ich 2 Cronjobs die eigenständig laufen, ohne "verlinkung"

Aber wo wir gleich dabei sind (Sry, ich bin noch ein kleiner Linux-Noob. Deswegen klappt bei mir auch noch nicht alles wie geplant^^), hab noch eine Frage zum Thema cronjob.

Ich hab mir jetzt ein einfaches "Echo" Script erstellt und es dann in den ordner cron.tst gelegt (manuell kann ich es auch ausführen, klappt wunderbar). Wenn ich das jetzt aber mit einem cronjob ausführen will, klappt das nicht mehr.

Crontab sieht so aus:
35 15 * * * root run-parts /etc/cron.tst

Normalerweise müsste er doch dann um 15.35 uhr in den cron.tst Ordner gehen und dort alle Scripte ausführen, richtig?

Das selbe Spielchen habe ich 3 mal mit festen Zeiten ausprobiert und einmal im Minutentakt. Trotzdem bekomm ich nicht den eingegebenen Text angezeigt. An was könnte das jetzt liegen?

btw. das script hat von mir die Freigabe a+x bekommen.
 
Sollten Skripte beim Ausführen durch cron einen output haben (wie hier durch echo), wird der output entweder zu der Adresse gemailt, die durch die Variable MAILTO festgelegt worden ist, oder zum Eigentümer des crontabs.
Du solltest also im "Systempostfach" eine Mail mit dem output haben. Alternativ sollte die Ausführung auch in den cron logs verzeichnet sein.
 
Zurück
Oben