Script soll sich immer wieder neu aufrufen

W

web4free

Jungspund
Hallo Leute,

Da ich noch ein rechter Frischling bin was Shellprogrammierung betrifft, bin ich ja schon heilfroh dass mir das eine oder andere Script geglückt ist.
Unter anderem aber auch durch dieses Forum.

Nun stehe ich aber vor einen eher kleineren Problem.
Ich habe ein Miniscript, welches nur den Befehl
Code:
/usr/bin/php5 /srv/www/web1/html/_cron/import_autohaeuser.php
beinhaltet.
Funktioniert und keine Fehlermeldung zurück.
Jetzt müsste das Script aber, sobald der Erste befehl fertig ist wieder von vorne beginnen - ohne dass sich aber bei den laufenden Prozessen das Script selbst hochschaukelt.
Und genau das tut es, weil ich einfach eine Zeile darunter den Dateinamen.sh einfach nochmals hingeschrieben habe.

Eh logisch, weil das Script offen ist und eigendlich das selbe Script nochmals öffnet und wieder öffnet und wieder und wieder.....

Mit einen Crontab wäre es optimal, aber hier nicht zu gebrauchen.
Ich muß echt sobald der Erste Befehl fertig ist, wieder von vorne beginnen.

Irgendwer einen hilfreichen Input für mich?
Besten Dank
lg.
Werner
 
Bin nicht ganz sicher ob ich dich richtig verstanden habe aber du möchtest doch einfach das Script mit bestimmten Abständen immer wieder aufrufen?

Am besten nimmst du dafür nen Cronjob würde ich sagen und wenn es doch öfter als einmal in der Minute aufgerufen werden soll dann bau ein script was in einer Endlosschleife das andere Script immer wieder aufruft und dann schreibst du in die Schleife sowas wie sleep 1 oder so...

Gruß
D.
 
Ja, sowas meine ich. Wobei ma aber in der Schleife ein 'sleep 1' unterbringen sollte.

Gruß
D.
 
Ja, ein sleep wäre recht gut, sehe ich auch gerade. Wir wollen ja nicht das dein System nur noch mit der Schleife beschäftigt ist und seine anderen Pflichen vernachlässigt :rofl:
 
Hallo madfool,
Hallo hofmannc11,

Genau das isses!!! So einfach und doch soweit entfernt.
Manches mal sieht man den Wald vor lauter Bäumen nicht :oldman

Ob der Server nun ständig mit diesem Script beschäftigt ist, wäre eigendlich egal, weil dieser Server eh nix anderes machen soll und darf.
Ich hab das Sleep aber dennoch eingebaut.

Mit einen Crontab wäre es wesendlich eleganter gewesen, aber ich habs auf unseren Hauptserver erlebt, das das ins Auge geht.
Einkalkuliert sind pro Job max. 10 Minuten Arbeitszeit.
Wenn aber ein Job länger braucht fängt mir dann ein 2. Job an und beide fressen dann Ressourcen - führt dann dazu, dass sogar ein 3. Job dazwischen fährt.
Und deshalb wollte ich es total unabhängig lösen.
Sobald der Job mit den Importen fertig ist, soll er wieder beginnen.
So kann ich sicher sein, dass wirklich hintereinander und nicht parallel importiert wird.

Jetzt muß ich mir noch was einfallen lassen, das ich gewisse Zustände abfangen kann.
.) Automatischer Start nach Reboot (sollte aber glaub ich über "Systemstart- und Herunterfahren-Dienste" machbar sein)
.) und ggf. Neustart des Scriptes, sollte es aus irgendeinen Grund gekillt worden sein (geht sicher nur über ein weiteres Script welches über einen Cron den Zustand des import.sh abfragt).
 
.) Automatischer Start nach Reboot (sollte aber glaub ich über "Systemstart- und Herunterfahren-Dienste" machbar sein)
.) und ggf. Neustart des Scriptes, sollte es aus irgendeinen Grund gekillt worden sein (geht sicher nur über ein weiteres Script welches über einen Cron den Zustand des import.sh abfragt).

kannst beides in der /etc/inittab einrichten

Beispielzeile:

ms:35:respawn:/pfad/zum/script > /irgendeinlogfileoderdevnull 2>&1

startet das script beim hochfahren in den runlevels 3 und 5, und startet es wieder wenn es beendet wurde
 
Hi,

kannst beides in der /etc/inittab einrichten

Beispielzeile:

ms:35:respawn:/pfad/zum/script > /irgendeinlogfileoderdevnull 2>&1

startet das script beim hochfahren in den runlevels 3 und 5, und startet es wieder wenn es beendet wurde

Also manchesmal verwundert mich Linux aber gewaltig zum positiven.
Was es da alles gibt und wie einfach das doch sein kann 8)
Ich habs jetzt mal probiert - Maschine rebootet alles läuft.
Job gekillt und etwas später wieder anwesend - geil!

Vielen Dank an Euch alle!
 
Zurück
Oben