hallo, als totaler cronjob-neuling ;-) macht mich folgendes Phänomen sprachlos: ich lasse mittels cronjob ein backup-script (backup2l) laufen. Jetzt muß ich feststellen, daß dieses zweimal ausgeführt wird, ohne, daß ich es manuell gestartet habe... und zwar einmal um 19.00 Uhr und einmal um 21.30 Uhr. In meiner crontab steht eigentlich, daß das script um 21.30 ausgeführt werden soll. das script wird per befehl nur in cron.daily aufgerufen. Wer kann mir sagen, warum das script bereits um 19.00 einmal ausgeführt wird?? ich habe in meiner crontab folgendes eingetragen: ########## SHELL=/bin/sh PATH=/usr/bin:/usr/sbin:/sbin:/bin:/usr/lib/news/bin MAILTO=root # # check scripts in cron.hourly, cron.daily, cron.weekly, and cron.monthly # -*/15 * * * * root test -x /usr/lib/cron/run-crons && /usr/lib/cron/run-crons 59 * * * * root rm -f /var/spool/cron/lastrun/cron.hourly 30 21 * * * root rm -f /var/spool/cron/lastrun/cron.daily 29 0 * * 6 root rm -f /var/spool/cron/lastrun/cron.weekly 44 0 1 * * root rm -f /var/spool/cron/lastrun/cron.monthly ############ Der Befehl in cron.dayly/zz-backup2l lautet: ####### ! which backup2l > /dev/null || nice -19 backup2l -b ####### Wer hat eine Idee, wo der Fehler stecken könnte?? Wo könnte backup2l noch aufgerufen werden?? Vielen Dank schon mal! grüße carsten -- Carsten Ungewitter Diskurs e.V. www.diskurs.org
Am Sonntag, 24. März 2002 23:51 schrieb Carsten Ungewitter:
hallo,
als totaler cronjob-neuling ;-) macht mich folgendes Phänomen sprachlos:
ich lasse mittels cronjob ein backup-script (backup2l) laufen. Jetzt muß ich feststellen, daß dieses zweimal ausgeführt wird, ohne, daß ich es manuell gestartet habe...
und zwar einmal um 19.00 Uhr und einmal um 21.30 Uhr. In meiner crontab steht eigentlich, daß das script um 21.30 ausgeführt werden soll.
das script wird per befehl nur in cron.daily aufgerufen.
Wer kann mir sagen, warum das script bereits um 19.00 einmal ausgeführt wird?? [...]
Hi! Alle Scripts im cron.*-Verzeichnis werden zentral vom crond durch ein SuSE-Script ausgeführt, daher braucht man keine weitere crontab zu schreiben. Udo
Am Sonntag, 24. März 2002 22:21 schrieb Udo Neist:
Am Sonntag, 24. März 2002 23:51 schrieb Carsten Ungewitter:
hallo,
als totaler cronjob-neuling ;-) macht mich folgendes Phänomen sprachlos:
ich lasse mittels cronjob ein backup-script (backup2l) laufen. Jetzt muß ich feststellen, daß dieses zweimal ausgeführt wird, ohne, daß ich es manuell gestartet habe...
und zwar einmal um 19.00 Uhr und einmal um 21.30 Uhr. In meiner crontab steht eigentlich, daß das script um 21.30 ausgeführt werden soll.
das script wird per befehl nur in cron.daily aufgerufen.
Wer kann mir sagen, warum das script bereits um 19.00 einmal ausgeführt wird??
[...]
Alle Scripts im cron.*-Verzeichnis werden zentral vom crond durch ein SuSE-Script ausgeführt, daher braucht man keine weitere crontab zu schreiben.
vielen Dank, kannst Du mir auch noch sagen, was das für mich bedeutet? Wie kann ich dieses Suse-Sript beeinflussen (z.B. Zeit umstellen etc.) ? Soll ich dann meine Crontab ändern? Bzw. den Aufruf in etc/cron.daily/...?? Ich habe im Verzeichnis /etc/cron.d/ gesucht. Aber das ist bei mir leer... Wo steckt dieses Suse-Script?? grüße carsten -- Carsten Ungewitter Diskurs e.V. www.diskurs.org
* Carsten Ungewitter schrieb am 24.Mär.2002:
als totaler cronjob-neuling ;-) macht mich folgendes Phänomen sprachlos:
ich lasse mittels cronjob ein backup-script (backup2l) laufen. Jetzt muß ich feststellen, daß dieses zweimal ausgeführt wird, ohne, daß ich es manuell gestartet habe...
und zwar einmal um 19.00 Uhr und einmal um 21.30 Uhr. In meiner crontab steht eigentlich, daß das script um 21.30 ausgeführt werden soll.
das script wird per befehl nur in cron.daily aufgerufen.
Wer kann mir sagen, warum das script bereits um 19.00 einmal ausgeführt wird??
Hast Du den Rechner kurz vor 19.00 hochgefahren?
ich habe in meiner crontab folgendes eingetragen:
########## SHELL=/bin/sh PATH=/usr/bin:/usr/sbin:/sbin:/bin:/usr/lib/news/bin MAILTO=root # # check scripts in cron.hourly, cron.daily, cron.weekly, and cron.monthly # -*/15 * * * * root test -x /usr/lib/cron/run-crons && /usr/lib/cron/run-crons 59 * * * * root rm -f /var/spool/cron/lastrun/cron.hourly 30 21 * * * root rm -f /var/spool/cron/lastrun/cron.daily 29 0 * * 6 root rm -f /var/spool/cron/lastrun/cron.weekly 44 0 1 * * root rm -f /var/spool/cron/lastrun/cron.monthly ############
Ich würde an den SuSE-Standardeinträgen nichts ändern.
Der Befehl in cron.dayly/zz-backup2l lautet: ####### ! which backup2l > /dev/null || nice -19 backup2l -b #######
Wer hat eine Idee, wo der Fehler stecken könnte?? Wo könnte backup2l noch aufgerufen werden??
Wenn Du es nicht gemacht hast, wohl kaum. Bernd
Am Montag, 25. März 2002 01:22 schrieb Bernd Brodesser:
* Carsten Ungewitter schrieb am 24.Mär.2002:
als totaler cronjob-neuling ;-) macht mich folgendes Phänomen sprachlos:
ich lasse mittels cronjob ein backup-script (backup2l) laufen. Jetzt muß ich feststellen, daß dieses zweimal ausgeführt wird, ohne, daß ich es manuell gestartet habe...
und zwar einmal um 19.00 Uhr und einmal um 21.30 Uhr. In meiner crontab steht eigentlich, daß das script um 21.30 ausgeführt werden soll.
das script wird per befehl nur in cron.daily aufgerufen.
Wer kann mir sagen, warum das script bereits um 19.00 einmal ausgeführt wird??
Hast Du den Rechner kurz vor 19.00 hochgefahren?
ich habe in meiner crontab folgendes eingetragen:
########## SHELL=/bin/sh PATH=/usr/bin:/usr/sbin:/sbin:/bin:/usr/lib/news/bin MAILTO=root # # check scripts in cron.hourly, cron.daily, cron.weekly, and cron.monthly # -*/15 * * * * root test -x /usr/lib/cron/run-crons && /usr/lib/cron/run-crons 59 * * * * root rm -f /var/spool/cron/lastrun/cron.hourly 30 21 * * * root rm -f /var/spool/cron/lastrun/cron.daily 29 0 * * 6 root rm -f /var/spool/cron/lastrun/cron.weekly 44 0 1 * * root rm -f /var/spool/cron/lastrun/cron.monthly ############
Ich würde an den SuSE-Standardeinträgen nichts ändern.
Der Befehl in cron.dayly/zz-backup2l lautet: ####### ! which backup2l > /dev/null || nice -19 backup2l -b #######
Wer hat eine Idee, wo der Fehler stecken könnte?? Wo könnte backup2l noch aufgerufen werden??
Wenn Du es nicht gemacht hast, wohl kaum.
Zwei Ideen: 1. er hat das Skript in cron.daily abgelegt und zusätzlich einen crontab-Eintrag gemacht. Das ist doppelt gemoppelt - entweder in cron.daily eintragen oder in die crontab eintragen. 2. er hat das Skript nur in cron.daily und dann da drin mit irgendeinem Editor bearbeitet, der da ein Backup-File angelegt hat. Dadurch werden dann beide Versionen ausgeführt (ging mir auch kürzlich mal so). Ich würde mal schauen, obs in cron.daily mehrere Dateien dieses Nahmens mit unterschiedlichen Endungen (~, .bak, .save) oder vielleicht einen DEADJOE gibt. -- Erhard Schwenk http://www.fto.de - http://www.akkordeonjugend.de
Am Montag, 25. März 2002 00:29 schrieb Erhard Schwenk:
Am Montag, 25. März 2002 01:22 schrieb Bernd Brodesser:
* Carsten Ungewitter schrieb am 24.Mär.2002:
als totaler cronjob-neuling ;-) macht mich folgendes Phänomen sprachlos:
ich lasse mittels cronjob ein backup-script (backup2l) laufen. Jetzt muß ich feststellen, daß dieses zweimal ausgeführt wird, ohne, daß ich es manuell gestartet habe...
und zwar einmal um 19.00 Uhr und einmal um 21.30 Uhr. In meiner crontab steht eigentlich, daß das script um 21.30 ausgeführt werden soll.
das script wird per befehl nur in cron.daily aufgerufen.
Wer kann mir sagen, warum das script bereits um 19.00 einmal ausgeführt wird??
Hast Du den Rechner kurz vor 19.00 hochgefahren?
ich habe in meiner crontab folgendes eingetragen:
########## SHELL=/bin/sh PATH=/usr/bin:/usr/sbin:/sbin:/bin:/usr/lib/news/bin MAILTO=root # # check scripts in cron.hourly, cron.daily, cron.weekly, and cron.monthly # -*/15 * * * * root test -x /usr/lib/cron/run-crons && /usr/lib/cron/run-crons 59 * * * * root rm -f /var/spool/cron/lastrun/cron.hourly 30 21 * * * root rm -f /var/spool/cron/lastrun/cron.daily 29 0 * * 6 root rm -f /var/spool/cron/lastrun/cron.weekly 44 0 1 * * root rm -f /var/spool/cron/lastrun/cron.monthly ############
Ich würde an den SuSE-Standardeinträgen nichts ändern.
Der Befehl in cron.dayly/zz-backup2l lautet: ####### ! which backup2l > /dev/null || nice -19 backup2l -b #######
Wer hat eine Idee, wo der Fehler stecken könnte?? Wo könnte backup2l noch aufgerufen werden??
Wenn Du es nicht gemacht hast, wohl kaum.
Zwei Ideen:
1. er hat das Skript in cron.daily abgelegt und zusätzlich einen crontab-Eintrag gemacht. Das ist doppelt gemoppelt - entweder in cron.daily eintragen oder in die crontab eintragen.
2. er hat das Skript nur in cron.daily und dann da drin mit irgendeinem Editor bearbeitet, der da ein Backup-File angelegt hat. Dadurch werden dann beide Versionen ausgeführt (ging mir auch kürzlich mal so). Ich würde mal schauen, obs in cron.daily mehrere Dateien dieses Nahmens mit unterschiedlichen Endungen (~, .bak, .save) oder vielleicht einen DEADJOE gibt.
Danke für die Tipps, leider ist beides nicht der Fall. Fall 2 hatte ich bereits einmal ;-), hatte ich also schon gecheckt... grüße carsten -- Carsten Ungewitter Diskurs e.V. www.diskurs.org
Am Montag, 25. März 2002 00:22 schrieb Bernd Brodesser:
* Carsten Ungewitter schrieb am 24.Mär.2002:
als totaler cronjob-neuling ;-) macht mich folgendes Phänomen sprachlos:
ich lasse mittels cronjob ein backup-script (backup2l) laufen. Jetzt muß ich feststellen, daß dieses zweimal ausgeführt wird, ohne, daß ich es manuell gestartet habe...
und zwar einmal um 19.00 Uhr und einmal um 21.30 Uhr. In meiner crontab steht eigentlich, daß das script um 21.30 ausgeführt werden soll.
das script wird per befehl nur in cron.daily aufgerufen.
Wer kann mir sagen, warum das script bereits um 19.00 einmal ausgeführt wird??
Hast Du den Rechner kurz vor 19.00 hochgefahren?
ja, das kommt hin... ;-) und dann wird automatisch cron.daily ausgeführt?? hm... -- Carsten Ungewitter Diskurs e.V. www.diskurs.org
* Carsten Ungewitter schrieb am 25.Mär.2002:
Am Montag, 25. März 2002 00:22 schrieb Bernd Brodesser:
Hast Du den Rechner kurz vor 19.00 hochgefahren?
ja, das kommt hin... ;-)
und dann wird automatisch cron.daily ausgeführt?? hm...
Dafür ist doch cron.daily da. Wenn Du willst, daß es um 21.00 gefahren wird und sonst nicht. Dann trag es direkt in der crontab ein und nicht in cron.daily. Allerdings, wenn der Rechner um 21.00 ausgeschaltet ist, dann wird der cronjob natürlich nicht ausgeführt. Die crontab ist für Rechner gedacht, die 24h am Tag und das an 365 Tage im Jahr laufen. Dies ist heute aber nicht immer so der Fall, wie es etwa noch vor 20 Jahren war. Daher wurde die cron.daily, cron.weekly und cron.monthly eingeführt. Da wird alles einmal am Tag ausgeführt. Frühestens um 0:00, wenn der Rechner dann nicht an ist, dann nach dem Hochfahren. Wurde das skript in den letzten 24h schon einmal ausgeführt, dann dürfte es eigentlich nicht mehr ausgeführt werden. Ansonsten bei der nächsten Gelegenheit. Kurz nach 0:00 aber auf jeden Fall. Allerdings hast Du das ja auf 21:00 verstellt. Also heißt das bei Dir, um 21:00, bzw. kurz danach auf jeden Fall ansonsten, wenn es 24h lang nicht mehr ausgeführt wurde, bei nächster Gelegenheit. Bernd -- Probleme mit dem Drucker? Schon die Druckercheckliste beachtet? http://localhost/doc/sdb/de/html/drucker-howto.html | Auch lesenswert: Oder schon das Drucker-HOWTO gelesen? | man lpr file://usr/shar/doc/howto/de/DE-Drucker-HOWTO.txt.gz | Zufallssignatur 3
Am Montag, 25. März 2002 09:03 schrieb Bernd Brodesser:
* Carsten Ungewitter schrieb am 25.Mär.2002:
Am Montag, 25. März 2002 00:22 schrieb Bernd Brodesser:
Hast Du den Rechner kurz vor 19.00 hochgefahren?
ja, das kommt hin... ;-)
und dann wird automatisch cron.daily ausgeführt?? hm...
Dafür ist doch cron.daily da. Wenn Du willst, daß es um 21.00 gefahren wird und sonst nicht. Dann trag es direkt in der crontab ein und nicht in cron.daily. Allerdings, wenn der Rechner um 21.00 ausgeschaltet ist, dann wird der cronjob natürlich nicht ausgeführt.
Die crontab ist für Rechner gedacht, die 24h am Tag und das an 365 Tage im Jahr laufen. Dies ist heute aber nicht immer so der Fall, wie es etwa noch vor 20 Jahren war. Daher wurde die cron.daily, cron.weekly und cron.monthly eingeführt.
Da wird alles einmal am Tag ausgeführt. Frühestens um 0:00, wenn der Rechner dann nicht an ist, dann nach dem Hochfahren. Wurde das skript in den letzten 24h schon einmal ausgeführt, dann dürfte es eigentlich nicht mehr ausgeführt werden. Ansonsten bei der nächsten Gelegenheit. Kurz nach 0:00 aber auf jeden Fall. Allerdings hast Du das ja auf 21:00 verstellt. Also heißt das bei Dir, um 21:00, bzw. kurz danach auf jeden Fall ansonsten, wenn es 24h lang nicht mehr ausgeführt wurde, bei nächster Gelegenheit.
danke, ich glaube jetzt habe ich es begriffen. cron.daily wird nicht durch die crontab alleine gesteuert, sondern durch ein script, das cron.daily immer dann aufruft, wenn wenn es 24 h nicht ausgeführt wurde und um die Zeit, die in der Crontab steht. Wenn ich also möchte, daß alles was in cron.daily steht nie öfter als 1x am Tag ausgeführt wird, dann sollte ich für cron.daily in der crontab eine Zeit wählen zu der der Rechner nie an ist.... Sonst kann es passieren, daß, wenn der rechner längere Zeit nicht an war das Script beim Hochfahren ausgeführt wird, und dann zu der Zeit, die in der Crontab steht noch einmal. richtig? grüße carsten -- Carsten Ungewitter Diskurs e.V. www.diskurs.org
* Carsten Ungewitter schrieb am 25.Mär.2002:
danke, ich glaube jetzt habe ich es begriffen. cron.daily wird nicht durch die crontab alleine gesteuert, sondern durch ein script, das cron.daily immer dann aufruft, wenn wenn es 24 h nicht ausgeführt wurde und um die Zeit, die in der Crontab steht. Wenn ich also möchte, daß alles was in cron.daily steht nie öfter als 1x am Tag ausgeführt wird, dann sollte ich für cron.daily in der crontab eine Zeit wählen zu der der Rechner nie an ist.... Sonst kann es passieren, daß, wenn der rechner längere Zeit nicht an war das Script beim Hochfahren ausgeführt wird, und dann zu der Zeit, die in der Crontab steht noch einmal. richtig?
Nein. Wenn Du nicht möchtest, daß ein skript nicht öfters als einmal am Tag ausgeführt wird, dann trage es direkt in der crontab ein und _nicht_ in cron.daily, und sorg dafür, daß der Rechner zu der angegebenen Zeit an ist. Die Zeit für cron.daily solltest Du gar nicht ändern, sondern so lassen wie sie ist. Dein Skript ist nicht das einzige was über cron.daily ausgeführt wird. Andere Programme verlassen sich darauf, daß cron.daily mindestens einmal am Tag ausgeführt wird. cron.daily ist letztendlich eine Krücke, wenn man es vernünftig machen will, dann trägt man es in der crontab direkt ein und schaltet den Rechner nicht aus. Bernd -- Welches Buch ist zu empfehlen? Schon mal bei SuSE vorbeigesehen? http://www.suse.de/de/products/books/index.html oder die Empfehlungen der SuSE-Entwickler auf dem eigenen Rechner? file:///usr/share/doc/sdb/de/html/literatur.html |Zufallssignatur 5
Am Montag, 25. März 2002 14:51 schrieb Bernd Brodesser:
* Carsten Ungewitter schrieb am 25.Mär.2002:
danke, ich glaube jetzt habe ich es begriffen. cron.daily wird nicht durch die crontab alleine gesteuert, sondern durch ein script, das cron.daily immer dann aufruft, wenn wenn es 24 h nicht ausgeführt wurde und um die Zeit, die in der Crontab steht. Wenn ich also möchte, daß alles was in cron.daily steht nie öfter als 1x am Tag ausgeführt wird, dann sollte ich für cron.daily in der crontab eine Zeit wählen zu der der Rechner nie an ist.... Sonst kann es passieren, daß, wenn der rechner längere Zeit nicht an war das Script beim Hochfahren ausgeführt wird, und dann zu der Zeit, die in der Crontab steht noch einmal. richtig?
Danke noch mal...
Nein. Wenn Du nicht möchtest, daß ein skript nicht öfters als einmal am Tag ausgeführt wird, dann trage es direkt in der crontab ein und _nicht_ in cron.daily, und sorg dafür, daß der Rechner zu der angegebenen Zeit an ist.
"Wie herum, so herum?" Das ist wie bei Alice im Wunderland... ich wollte eher sehen, ob ich es verstanden habe. das weiß ich jetzt zwar noch nicht genau, aber ich nehme es an. Allerdings wäre dann meine Variante doch auch ein - tatsächlich sehr uneleganter - workaround mit dem ich mit hoher wahrscheinlichkeit vermeiden würde, daß das script zweimal ausgeführt wird, aber trotzdem nicht darauf achten muß, daß der Rechner immer an ist... ist halt ein Einzelplatzrechner - und alles andere wäre wirklich Stromverschwendung... Jetzt habe ich meine crontab wieder in den Ausgangszustand zurückversetzt... (da steht jetzt also wieder 0.14 Uhr drin...) d.h. wenn der Rechner da an ist, wird das script ausgeführt, wenn er nicht an ist, wird es das nächste mal ausgeführt... mal sehen, wie sich das macht. (sonst starte ich mein backup halt wieder per hand...)
Die Zeit für cron.daily solltest Du gar nicht ändern, sondern so lassen wie sie ist. Dein Skript ist nicht das einzige was über cron.daily ausgeführt wird. Andere Programme verlassen sich darauf, daß cron.daily mindestens einmal am Tag ausgeführt wird.
Warum ist dafür die konkrete Zeit so wichtig? Ob das nun 0:14 Uhr oder 5:14 Uhr ist, müßte doch egal sein. Oder?
cron.daily ist letztendlich eine Krücke, wenn man es vernünftig machen will, dann trägt man es in der crontab direkt ein und schaltet den Rechner nicht aus.
[Vernünftig hieße in diesem Fall 19 Stunden... (24 h minus 5 h, die der Rechner etwa tatsächlich benötigt wird...) 18 h x ca 70 W=1,33 kwh macht 485.45 kwh im Jahr... (um die 60 Euro... vom Atomstrom mal abgesehen)] grüße carsten -- Carsten Ungewitter Diskurs e.V. www.diskurs.org
participants (4)
-
B.Brodesser@t-online.de
-
Carsten Ungewitter
-
Erhard Schwenk
-
udo.neist@t-online.de