2 verschiedene Cronjobs nie gleichzeitig.
2 verschiedene Cronjobs nie gleichzeitig.
Ich habe 2 Cronjobs laufen,
Script-A:Täglich 3 Uhr:
ifdown dsl0
ifup dsl0
Dank Telekom, die immer noch meint, wir Deutsche brauchen eine 24h Trennung trotz Business & feste IP Vertrag(in kein anderes Land so ist so)
Script-B:im 5 Minuten Takt:
3 Server anpingen, wenn alle down then ifup dls0 und echo "datum: Neueinahl" >>log
wenn nun das Script A kurz DSL trennt und neu verbindet,
dann soll das Script B nicht anlaufen.
Was für Lösungen gibt es?
z.B.
Kann man Script B befehlen, zwischen 2:55 Uhr und 3:03 Uhr nicht zu starten?
Oder gibt es ein Befehl, 2 Cronjob nie gleichzeitig laufen lassen?
kann man eine Variable von Script A im Script B auswerten?
Script-A:Täglich 3 Uhr:
ifdown dsl0
ifup dsl0
Dank Telekom, die immer noch meint, wir Deutsche brauchen eine 24h Trennung trotz Business & feste IP Vertrag(in kein anderes Land so ist so)
Script-B:im 5 Minuten Takt:
3 Server anpingen, wenn alle down then ifup dls0 und echo "datum: Neueinahl" >>log
wenn nun das Script A kurz DSL trennt und neu verbindet,
dann soll das Script B nicht anlaufen.
Was für Lösungen gibt es?
z.B.
Kann man Script B befehlen, zwischen 2:55 Uhr und 3:03 Uhr nicht zu starten?
Oder gibt es ein Befehl, 2 Cronjob nie gleichzeitig laufen lassen?
kann man eine Variable von Script A im Script B auswerten?
Re: 2 verschiedene Cronjobs nie gleichzeitig.
Ich würde das über eine lokale trigger Datei.
Zu beginn des Script a
touch /b.onrun
am ende rm /b.norun
Script b
if -f /b.norun ; then exit;
Syntaktisch bitte anpassen.
if -f
Zu beginn des Script a
touch /b.onrun
am ende rm /b.norun
Script b
if -f /b.norun ; then exit;
Syntaktisch bitte anpassen.
if -f
02:32:12 21.12.2012 und dann sind Deine Probleme alle unwichtig.
Re: 2 verschiedene Cronjobs nie gleichzeitig.
kann man dann keine Globale Variablen definieren?
Script A setz die auf 1-für Aktiv, 0-für fertig
Script B frage ab, ob 1 then exit
Script A setz die auf 1-für Aktiv, 0-für fertig
Script B frage ab, ob 1 then exit
Last edited by amiga1200 on 2012-02-17 15:42, edited 1 time in total.
Re: 2 verschiedene Cronjobs nie gleichzeitig.
Was stört dich an der Datei?
Leg sie unter /tmp und dann machst Du das so, wie ca. 90% all derjenigen, die das gleiche Problem haben.
Ganz ehrlich Globale Variablen will man nicht.
Leg sie unter /tmp und dann machst Du das so, wie ca. 90% all derjenigen, die das gleiche Problem haben.
Ganz ehrlich Globale Variablen will man nicht.
Last edited by ddm3ve on 2012-02-17 16:59, edited 1 time in total.
02:32:12 21.12.2012 und dann sind Deine Probleme alle unwichtig.
Re: 2 verschiedene Cronjobs nie gleichzeitig.
Script A einfach um 2:55 oder 3:05 Uhr ausführen und gut.
Ansonsten für Script B die 23 Stunden einzeln durch Kommata getrennt aufführen.
Ansonsten für Script B die 23 Stunden einzeln durch Kommata getrennt aufführen.
PayPal.Me/JoeUser ● FreeBSD Remote Installation
Wings for Life ● Wings for Life World Run
„If there’s more than one possible outcome of a job or task, and one
of those outcomes will result in disaster or an undesirable consequence,
then somebody will do it that way.“ -- Edward Aloysius Murphy Jr.
Wings for Life ● Wings for Life World Run
„If there’s more than one possible outcome of a job or task, and one
of those outcomes will result in disaster or an undesirable consequence,
then somebody will do it that way.“ -- Edward Aloysius Murphy Jr.
Re: 2 verschiedene Cronjobs nie gleichzeitig.
Naja, man weiss ja u.U. nie, wie lange so ein Script läuft.
Wenns, aus welchen Gründen auch immer, doch mal an die 23:59 braucht?
Oder zumindest so lange, bis es mit Script B kollidiert?
Wenns, aus welchen Gründen auch immer, doch mal an die 23:59 braucht?
Oder zumindest so lange, bis es mit Script B kollidiert?
02:32:12 21.12.2012 und dann sind Deine Probleme alle unwichtig.
Re: 2 verschiedene Cronjobs nie gleichzeitig.
Script B läuft nicht im Stundentakt, sondern im 5 Min Takt.Script A einfach um 2:55 oder 3:05 Uhr ausführen und gut.
Ansonsten für Script B die 23 Stunden einzeln durch Kommata getrennt aufführen
das trennen und Einwahl dauert ca.5 Sec, auch wenn es im Jahr einmal kollidiert ist auch nicht schlimm.
Script B startet so:
*/5 * * * * root /wartung/ping.sh >/dev/null 2>&1 # Jede 5 Min
heiß das, das es immer 20:05; 20:10; 20:15... läuft,
wenn ja ist alles gut, dann würde ich Script A
*/5 03 * * * geben (Jeden Tag um 05:03)
oder ist */5 * * * *
der Startpunkt nicht fixt, kann z.B. 20:03, dann 20:08; 20:13 Sein?
Nachtrag:
Die Info kann man bequem in ein Bit packen, warum dafür die Festplatte rattern lassen.Was stört dich an der Datei?
Gerade fällt mir ein, im B Script einfach abfragen, ob es zw. 4.59 und 5.05 Uhr ist, dann startet es einma halt nicht.
Aber wenn B immer 20:05; 20:10; 20:15 startet lasse ich es so.
Last edited by amiga1200 on 2012-02-17 22:33, edited 1 time in total.
Re: 2 verschiedene Cronjobs nie gleichzeitig.
Cron A täglich 2:58 Uhr
Cron B 5min-Takt
Code: Select all
58 2 * * * ...Code: Select all
*/5 * * * * ...PayPal.Me/JoeUser ● FreeBSD Remote Installation
Wings for Life ● Wings for Life World Run
„If there’s more than one possible outcome of a job or task, and one
of those outcomes will result in disaster or an undesirable consequence,
then somebody will do it that way.“ -- Edward Aloysius Murphy Jr.
Wings for Life ● Wings for Life World Run
„If there’s more than one possible outcome of a job or task, and one
of those outcomes will result in disaster or an undesirable consequence,
then somebody will do it that way.“ -- Edward Aloysius Murphy Jr.
Re: 2 verschiedene Cronjobs nie gleichzeitig.
amiga1200 wrote:Die Info kann man bequem in ein Bit packen, warum dafür die Festplatte rattern lassen.Was stört dich an der Datei?
Gerade fällt mir ein, im B Script einfach abfragen, ob es zw. 4.59 und 5.05 Uhr ist, dann startet es einma halt nicht.
Aber wenn B immer 20:05; 20:10; 20:15 startet lasse ich es so.
Also, das Bit alle 5 Minuten schreiben, das tut auch der Platte nicht zwangsläufig weh. Und falls man doch die Platte entlasten will, kann man es in ein RAMFS packen.
BTW: Nur zum Klugscheissen und nicht Bier ernst gemeint.
Deine Anforderung war, das Script B soll ja nicht laufen, wenn Script A läuft.
Jetzt ist die Lösung eher die, meistens wird zwar Script B nicht laufen, wenn A läuft aber so wirklich genau wissen wirs eigentlich auch nicht eine Kontrolle gibt es nicht.
Nicht persönlich nehmen, so erlebe ich das auch anderswo jeden Tag, dass eindeutige Anforderungen mit einer inkonsequenten Lösung erschlagen werden.
Eigentlich gemurkst.
Wie schon gesagt, ist nicht persönlich gemeint.
Last edited by ddm3ve on 2012-02-21 14:04, edited 2 times in total.
02:32:12 21.12.2012 und dann sind Deine Probleme alle unwichtig.
Re: 2 verschiedene Cronjobs nie gleichzeitig.
Script A hat ja Prio 1, damit die Zwangstrennung um 3:00 Uhr passiert, und ncht am Tage!
Script B in 5 Min. Takt zum testen der Verbindung kann auch mal aussetzen!
Daher habe ich vor Script B eine Abfrage gesetzt, damit es nicht zw. 2:55 und 3:05 Uhr ausgeführt wird.
Ich bin Shell -Script-Anfänger, ich glaube das bekommt hier jemand in 3-5 Zeilen hin.
Script B in 5 Min. Takt zum testen der Verbindung kann auch mal aussetzen!
Daher habe ich vor Script B eine Abfrage gesetzt, damit es nicht zw. 2:55 und 3:05 Uhr ausgeführt wird.
Code: Select all
h=`date +%H`
m=`date +%M`
let z=h*60
let z=z+m #Min. seit 0:00 Uhr
if [ $z -gt 175 ] # wenn zw. 175- 182 then exit
then
if [ $z -lt 182 ]
then
exit # zw. 2:55 - 3:02 kein Ping-Test
fi
fi;
Hier Ping Test ausfuhren...
Last edited by amiga1200 on 2012-02-19 15:49, edited 3 times in total.
Re: 2 verschiedene Cronjobs nie gleichzeitig.
Wenn es so sein soll, dass Script B nicht zwischen 2:55 und 03:02 läuft, dann trage es einfach genau so auch in den Crontab ein.
Damit es ggf. übesrichtlicher wird, mach 2 Crontab Einträge Für Script B.
Eines von 03:00 - 02:00 (23 Stunden lang alle 5 Minuten)
/5 3-1 * * *
sowie eines das ab 2:00 alle 5 Minuten bis 2:50 läuft:
5,10,15,20,25,30,35,40,45,50 2 * * *
Danach läuft ab 03:00 das Script wieder alle 5 Minuten.
Du hast dann deine 10-15 Minuten Pause.
Eigentlich simpel. Aber mal einfach hinterfragt, um 2 Uhr morgens, wenn Du da im schlimmsten Fall eine Stunde offline wärst.....
Wäre das ein Problem?
Falls nein, dann kannst Du Dir den 2. Eintrag sparen-
Aber wie schon gesagt, ich halte das für gemurkts. Ein Triggerfile und das Thema wäre zuverlässig erledigt.
Damit es ggf. übesrichtlicher wird, mach 2 Crontab Einträge Für Script B.
Eines von 03:00 - 02:00 (23 Stunden lang alle 5 Minuten)
/5 3-1 * * *
sowie eines das ab 2:00 alle 5 Minuten bis 2:50 läuft:
5,10,15,20,25,30,35,40,45,50 2 * * *
Danach läuft ab 03:00 das Script wieder alle 5 Minuten.
Du hast dann deine 10-15 Minuten Pause.
Eigentlich simpel. Aber mal einfach hinterfragt, um 2 Uhr morgens, wenn Du da im schlimmsten Fall eine Stunde offline wärst.....
Wäre das ein Problem?
Falls nein, dann kannst Du Dir den 2. Eintrag sparen-
Aber wie schon gesagt, ich halte das für gemurkts. Ein Triggerfile und das Thema wäre zuverlässig erledigt.
Last edited by ddm3ve on 2012-02-20 13:06, edited 2 times in total.
02:32:12 21.12.2012 und dann sind Deine Probleme alle unwichtig.
Re: 2 verschiedene Cronjobs nie gleichzeitig.
Problem für mich nicht, ich hoste über VDSL Webseiten, mit ca. 5000 Besucher täglich, die Sites sollten auch nachts erreichbar sein, sonst rufen die Kunden an...Eigentlich simpel. Aber mal einfach hinterfragt, um 2 Uhr morgens, wenn Du da im schlimmsten Fall eine Stunde offline wärst.....
Wäre das ein Problem?
Ich werde mir das mit File erstellen / File löschen / Abfrage ob File vorhanden noch mal ansehen, das scheint die sauberste Lösung zu sein.Falls nein, dann kannst Du Dir den 2. Eintrag sparen-
Aber wie schon gesagt, ich halte das für gemurkts. Ein Triggerfile und das Thema wäre zuverlässig erledigt.

