Page 1 of 1
CRONTAB: Jeden 1. Sonntag im Monat?
Posted: 2007-06-26 19:34
by jg1
Hallo,
wie kann man einen Cronjob so einrichten, dass er nur jeden 1. Sonntag im Monat startet?
Danke
Re: CRONTAB: Jeden 1. Sonntag im Monat?
Posted: 2007-06-26 19:41
by Roger Wilco
Das geht mit einem "normalen" crond nicht. Du könntest höchtens jeden Sonntag ein Skript starten lassen, das überprüft, ob es der erste Sonntag im Monat ist und dann entsprechend weitermacht oder abbricht. Oder es reicht dir, wenn der Cronjob immer am 1. eines Monats läuft. Dann reicht das 3. Feld in der crontab.
EDIT: Möglicherweise geht es doch. Probier es mal so:
Re: CRONTAB: Jeden 1. Sonntag im Monat?
Posted: 2007-06-26 19:48
by jg1
Roger Wilco wrote:Das geht mit einem "normalen" crond nicht. Du könntest höchtens jeden Sonntag ein Skript starten lassen, das überprüft, ob es der erste Sonntag im Monat ist und dann entsprechend weitermacht oder abbricht. Oder es reicht dir, wenn der Cronjob immer am 1. eines Monats läuft. Dann reicht das 3. Feld in der crontab.
EDIT: Möglicherweise geht es doch. Probier es mal so:
Diese Einstellung habe ich vorgenommen... jedoch habe ich woanders gelesen, dass dann angeblich jeden 1. bis 7. und zusätzlich Sonntags der Cron läuft. Aber eigentlich wäre das unlogisch...
Ich probier es mal aus... Ist ein Sicherungsscript, was Sonntags einen Fullbackup machen soll (aber halt nur einmal im Monat).
Danke
Re: CRONTAB: Jeden 1. Sonntag im Monat?
Posted: 2007-06-26 19:58
by Joe User
Aus `man 5 crontab` (vixie-cron):
Code: Select all
EXAMPLE CRON FILE
...
5 4 * * sun echo "run at 5 after 4 every sunday"
Re: CRONTAB: Jeden 1. Sonntag im Monat?
Posted: 2007-06-26 21:02
by juergen
Workaround: Jeden 1-7 Tag im Monat ausführen und innerhalb des Cronjobs testen, ob es sich um einen Sonntag handelt:
Code: Select all
0 0 1-7 * * [[ $(date +%a) = So ]] && REAL_JOB
Ich habe hier DE locale (So).
Re: CRONTAB: Jeden 1. Sonntag im Monat?
Posted: 2007-06-26 22:45
by jg1
juergen wrote:Workaround: Jeden 1-7 Tag im Monat ausführen und innerhalb des Cronjobs testen, ob es sich um einen Sonntag handelt:
Code: Select all
0 0 1-7 * * [[ $(date +%a) = So ]] && REAL_JOB
Ich habe hier DE locale (So).
Danke, werde ich ausprobieren, wenn es anders nicht geht.
Auf jedem Fall bekomme ich jetzt in jedem Fall meine Sicherung hin!
Nochmals Danke!
Re: CRONTAB: Jeden 1. Sonntag im Monat?
Posted: 2007-06-27 00:16
by antondollmaier
Aus dem cron.d-Eintrag von mdadm, Debian Etch:
Code: Select all
# By default, run at 01:06 on every Sunday, but do nothing unless the day of
# the month is less than or equal to 7. Thus, only run on the first Sunday of
# each month. crontab(5) sucks, unfortunately, in this regard; therefore this
# hack (see #380425).
6 1 * * 0 root [ -x /usr/share/mdadm/checkarray ] && [ $(date +%d) -le 7 ] && /usr/share/mdadm/checkarray --cron --all --quiet
HTH :)
Re: CRONTAB: Jeden 1. Sonntag im Monat?
Posted: 2007-06-27 06:08
by jg1
antondollmaier wrote:Aus dem cron.d-Eintrag von mdadm, Debian Etch:
Code: Select all
# By default, run at 01:06 on every Sunday, but do nothing unless the day of
# the month is less than or equal to 7. Thus, only run on the first Sunday of
# each month. crontab(5) sucks, unfortunately, in this regard; therefore this
# hack (see #380425).
6 1 * * 0 root [ -x /usr/share/mdadm/checkarray ] && [ $(date +%d) -le 7 ] && /usr/share/mdadm/checkarray --cron --all --quiet
HTH :)
Hi!
Danke, habe den Code übernommen....