Per ssh Script starten und Verbindung trennen
Ich muss ein Script auf einem entfernten Rechner laufen lassen und verbinde mich dazu via ssh. Wie erreicht man, dass das Script weiter ausgeführt wird, wenn man die Verbindung trennt? meinskript.sh & lief nicht weiter. Al -- Um die Liste abzubestellen, schicken Sie eine Mail an: opensuse-de+unsubscribe@opensuse.org Um eine Liste aller verfuegbaren Kommandos zu bekommen, schicken Sie eine Mail an: opensuse-de+help@opensuse.org
Hallo Al Am Mittwoch 24 November 2010, 00:01:54 schrieb Al Bogner:
Ich muss ein Script auf einem entfernten Rechner laufen lassen und verbinde mich dazu via ssh. Wie erreicht man, dass das Script weiter ausgeführt wird, wenn man die Verbindung trennt?
meinskript.sh &
lief nicht weiter.
Da war was mit nosighup, damit so etwas weiter läuft. Goggle mal danach bzw. weiß ein andererdie genaue Syntax. Gruß Bodo -- Um die Liste abzubestellen, schicken Sie eine Mail an: opensuse-de+unsubscribe@opensuse.org Um eine Liste aller verfuegbaren Kommandos zu bekommen, schicken Sie eine Mail an: opensuse-de+help@opensuse.org
Vielleicht tut's nohup script.bash Gruß, Marko-- Um die Liste abzubestellen, schicken Sie eine Mail an: opensuse-de+unsubscribe@opensuse.org Um eine Liste aller verfuegbaren Kommandos zu bekommen, schicken Sie eine Mail an: opensuse-de+help@opensuse.org
Am Mittwoch 24 November 2010, 00:12:32 schrieb Bodo Wlaka: Ich antworte mal selber ;-) nohup command ist Deine Freund, also nohup meinskript.sh & sollte helfen. Bodo -- Um die Liste abzubestellen, schicken Sie eine Mail an: opensuse-de+unsubscribe@opensuse.org Um eine Liste aller verfuegbaren Kommandos zu bekommen, schicken Sie eine Mail an: opensuse-de+help@opensuse.org
Am Mittwoch, 24. November 2010 00:12 schrieb Bodo Wlaka:
Hallo Al
Am Mittwoch 24 November 2010, 00:01:54 schrieb Al Bogner:
Ich muss ein Script auf einem entfernten Rechner laufen lassen und verbinde mich dazu via ssh. Wie erreicht man, dass das Script weiter ausgeführt wird, wenn man die Verbindung trennt?
meinskript.sh &
lief nicht weiter.
Habe ich in der bash (nicht als root) genau so gemacht und es läuft immer weiter....
Da war was mit nosighup, damit so etwas weiter läuft.
Ging ohne no(sig)hup etc. Welche Shell? Was für ein Script? -- Herzliche Grüße! Rolf Muth Meine Adressen duerfen nicht fuer Werbung verwendet werden! PGP Public Key fuer "Rolf Muth (inet)" auf http://pgp.mit.edu/ Analoge Uhr (clock): http://www.heise.de/software/download/analoge_uhr/61872
Am Mi, 24 Nov 2010 00:39:24 CET schrieb Rolf Muth:
Am Mittwoch, 24. November 2010 00:12 schrieb Bodo Wlaka:
Hallo Al
Am Mittwoch 24 November 2010, 00:01:54 schrieb Al Bogner:
Ich muss ein Script auf einem entfernten Rechner laufen lassen und verbinde mich dazu via ssh. Wie erreicht man, dass das Script weiter ausgeführt wird, wenn man die Verbindung trennt?
meinskript.sh &
lief nicht weiter.
Habe ich in der bash (nicht als root) genau so gemacht und es läuft immer weiter....
Da war was mit nosighup, damit so etwas weiter läuft.
Ging ohne no(sig)hup etc.
Welche Shell? Was für ein Script?
Mutt 1.5.21
.muttrc
set from="\"Y\"
On Wed, 24 Nov 2010, 13:35:26 +0100, Al Bogner wrote:
Am Mi, 24 Nov 2010 00:39:24 CET schrieb Rolf Muth:
Am Mittwoch, 24. November 2010 00:12 schrieb Bodo Wlaka:
Hallo Al
Am Mittwoch 24 November 2010, 00:01:54 schrieb Al Bogner:
Ich muss ein Script auf einem entfernten Rechner laufen lassen und verbinde mich dazu via ssh. Wie erreicht man, dass das Script weiter ausgeführt wird, wenn man die Verbindung trennt?
meinskript.sh &
lief nicht weiter.
Habe ich in der bash (nicht als root) genau so gemacht und es läuft immer weiter....
Da war was mit nosighup, damit so etwas weiter läuft.
Ging ohne no(sig)hup etc.
Welche Shell? Was für ein Script?
Mutt 1.5.21
.muttrc set from="\"Y\"
" set envelope_from=yes set smtp_url="smtp://bla@smtp.gmail.com/" set smtp_pass="k" #!/bin/bash for MAILADDR in `cat adressen.txt`; do delay=$(( RANDOM % 120 + 60 )) echo "$MAILADDR" cat mail.txt | mutt -s "Info" "$MAILADDR" sleep $delay done
Ich gehe mal davon aus, dass du kein "-f" beim Aufruf von "ssh" angibst, denn dann sollte das einfach funktionieren...
Al
HTH, cheers. l8er manfred -- Um die Liste abzubestellen, schicken Sie eine Mail an: opensuse-de+unsubscribe@opensuse.org Um eine Liste aller verfuegbaren Kommandos zu bekommen, schicken Sie eine Mail an: opensuse-de+help@opensuse.org
Am Mittwoch, 24. November 2010 13:35 schrieb Al Bogner:
Am Mi, 24 Nov 2010 00:39:24 CET schrieb Rolf Muth:
Am Mittwoch, 24. November 2010 00:12 schrieb Bodo Wlaka:
Hallo Al
Am Mittwoch 24 November 2010, 00:01:54 schrieb Al Bogner:
Ich muss ein Script auf einem entfernten Rechner laufen lassen und verbinde mich dazu via ssh. Wie erreicht man, dass das Script weiter ausgeführt wird, wenn man die Verbindung trennt?
meinskript.sh &
lief nicht weiter. ......
Mutt 1.5.21
.muttrc set from="\"Y\"
" set envelope_from=yes set smtp_url="smtp://bla@smtp.gmail.com/" set smtp_pass="k" #!/bin/bash for MAILADDR in `cat adressen.txt`; do delay=$(( RANDOM % 120 + 60 )) echo "$MAILADDR" cat mail.txt | mutt -s "Info" "$MAILADDR" sleep $delay done
Al
Das sagt mir leider nix. (Blöde Frage: funktioniert es, wenn Du angemeldet bleibst?) Bei mir läuft das seit Monaten durch. Gestartet per ssh als normaler Benutzer in einer bash mit machma & (hol-schick-ip testet, ob die IP des Rechners sich geändert hat und schickt mir in dem Fall eine Mail) ------------ #!/bin/bash # machma & # muss mit & aufgerufen werden, damit es immer weiterlaeuft !!! while true ; do /home/adminhome/hol-schick-ip ; sleep 899 ; done ------------ -- Herzliche Grüße! Rolf Muth Meine Adressen duerfen nicht fuer Werbung verwendet werden! PGP Public Key fuer "Rolf Muth (inet)" auf http://pgp.mit.edu/ Analoge Uhr (clock): http://www.heise.de/software/download/analoge_uhr/61872
Am Mi, 24 Nov 2010 15:38:17 CET schrieb Rolf Muth:
Am Mittwoch, 24. November 2010 13:35 schrieb Al Bogner:
Am Mi, 24 Nov 2010 00:39:24 CET schrieb Rolf Muth:
Am Mittwoch, 24. November 2010 00:12 schrieb Bodo Wlaka:
Hallo Al
Am Mittwoch 24 November 2010, 00:01:54 schrieb Al Bogner:
Ich muss ein Script auf einem entfernten Rechner laufen lassen und verbinde mich dazu via ssh. Wie erreicht man, dass das Script weiter ausgeführt wird, wenn man die Verbindung trennt?
meinskript.sh &
lief nicht weiter.
#!/bin/bash for MAILADDR in `cat adressen.txt`; do delay=$(( RANDOM % 120 + 60 )) echo "$MAILADDR" cat mail.txt | mutt -s "Info" "$MAILADDR" sleep $delay done
Al
Das sagt mir leider nix. (Blöde Frage: funktioniert es, wenn Du angemeldet bleibst?)
Ja und es ist auch kein großes Problem angemeldet zu bleiben. Al -- Um die Liste abzubestellen, schicken Sie eine Mail an: opensuse-de+unsubscribe@opensuse.org Um eine Liste aller verfuegbaren Kommandos zu bekommen, schicken Sie eine Mail an: opensuse-de+help@opensuse.org
On Wednesday, November 24, 2010 16:47:15 Al Bogner wrote:
Am Mi, 24 Nov 2010 15:38:17 CET schrieb Rolf Muth:
Am Mittwoch, 24. November 2010 13:35 schrieb Al Bogner:
Am Mi, 24 Nov 2010 00:39:24 CET schrieb Rolf Muth:
Am Mittwoch, 24. November 2010 00:12 schrieb Bodo Wlaka:
Hallo Al
Am Mittwoch 24 November 2010, 00:01:54 schrieb Al Bogner:
Ich muss ein Script auf einem entfernten Rechner laufen lassen und verbinde mich dazu via ssh. Wie erreicht man, dass das Script weiter ausgeführt wird, wenn man die Verbindung trennt?
meinskript.sh &
lief nicht weiter.
#!/bin/bash for MAILADDR in `cat adressen.txt`; do
delay=$(( RANDOM % 120 + 60 )) echo "$MAILADDR" cat mail.txt | mutt -s "Info" "$MAILADDR" sleep $delay
done
Al
Das sagt mir leider nix. (Blöde Frage: funktioniert es, wenn Du angemeldet bleibst?)
Ja und es ist auch kein großes Problem angemeldet zu bleiben.
Du musst stdin/out/err schließen bzw. umleiten: 0 r2@opi /tmp$ ssh fn Last login: Wed Nov 24 17:45:26 2010 from opi Have a lot of fun... 0 portal@fn ~$ ps ax|grep sleep 9918 pts/1 S+ 0:00 grep sleep 0 portal@fn ~$ sleep 100 /dev/null 2>&1 & [1] 9919 0 portal@fn ~$ logout Connection to fn closed. 0 r2@opi /tmp$ ssh fn Last login: Wed Nov 24 17:47:33 2010 from opi Have a lot of fun... 0 portal@fn ~$ ps ax|grep sleep 9919 ? S 0:00 sleep 100 9954 pts/1 S+ 0:00 grep sleep 0 portal@fn ~$ logout Connection to closed. Das erste Kommando prüft, ob ein sleep Prozess läuft. Dann wird einer gestartet mit dem PID 9919, gefolgt von Logout. Nach erneutem Login wird wieder nach sleep Prozessen gefahndet. Siehe, der Prozess Nummer 9919 läuft noch. Du kannst das Kommando auch gleich auf der ssh Kommandozeile absetzen: 0 r2@opi /tmp$ ssh fn 'sleep 200 /dev/null 2>&1 &' 0 r2@opi /tmp$ ssh fn Last login: Wed Nov 24 17:48:08 2010 from opi Have a lot of fun... 0 portal@fn ~$ ps ax|grep sleep 9919 ? S 0:00 sleep 100 9989 ? S 0:00 sleep 200 0 portal@fn ~$ logout Connection to closed. Nach erneutem Login gibt es jetzt 2 sleep-Prozesse. Der, der 200 Sekunden wartet stammt von der ssh Kommandozeile. Torsten Förtsch -- Need professional modperl support? Hire me! (http://foertsch.name) Like fantasy? http://kabatinte.net -- Um die Liste abzubestellen, schicken Sie eine Mail an: opensuse-de+unsubscribe@opensuse.org Um eine Liste aller verfuegbaren Kommandos zu bekommen, schicken Sie eine Mail an: opensuse-de+help@opensuse.org
Hallo, Am Wed, 24 Nov 2010, Al Bogner schrieb:
Ich muss ein Script auf einem entfernten Rechner laufen lassen und verbinde mich dazu via ssh. Wie erreicht man, dass das Script weiter ausgeführt wird, wenn man die Verbindung trennt?
meinskript.sh &
lief nicht weiter.
Generell ist bei sowas 'screen' dein Freund für alle Fälle ;) -dnh -- "Wer fleissig ist , ist nur zu faul nichts zu tun." [Woko° in dag°] -- Um die Liste abzubestellen, schicken Sie eine Mail an: opensuse-de+unsubscribe@opensuse.org Um eine Liste aller verfuegbaren Kommandos zu bekommen, schicken Sie eine Mail an: opensuse-de+help@opensuse.org
Am Mi, 24 Nov 2010 05:18:19 CET schrieb David Haller:
Hallo,
Am Wed, 24 Nov 2010, Al Bogner schrieb:
Ich muss ein Script auf einem entfernten Rechner laufen lassen und verbinde mich dazu via ssh. Wie erreicht man, dass das Script weiter ausgeführt wird, wenn man die Verbindung trennt?
meinskript.sh &
lief nicht weiter.
Generell ist bei sowas 'screen' dein Freund für alle Fälle ;)
Hallo David, ich denke es hat mit chmod als Test funktioniert, frage aber vorsichtshalber nach, ob ich da was falsch machen kann. ssh root@rechner (via keys angemeldet, ist nicht mein Host) screen script.sh #!/bin/bash for MAILADDR in `cat adressen.txt`; do delay=$(( RANDOM % 120 + 60 )) echo "$MAILADDR" cat mail.txt | mutt -s "Info" "$MAILADDR" sleep $delay done Nebenan gab es da Kommentare bzgl. stdout und root-user. Einen User für mail lege ich ungern an, da es nicht mein Rechner ist. Auf meinem Testrechner wurde script.sh & auch als User abgebrochen. Al -- Um die Liste abzubestellen, schicken Sie eine Mail an: opensuse-de+unsubscribe@opensuse.org Um eine Liste aller verfuegbaren Kommandos zu bekommen, schicken Sie eine Mail an: opensuse-de+help@opensuse.org
participants (7)
-
Al Bogner
-
Bodo Wlaka
-
David Haller
-
Manfred Hollstein
-
Marko Käning
-
Rolf Muth
-
Torsten Förtsch