[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: cron am letzten Tag im Monat



Janto Trappe <list@sylence.de> wrote:
> Andreas Metzler wrote:
>> > Kann mir jemand sagen wie ich cron beibringe einen job immer am
>> > letzten Tag des Monats zu starten? (Ohne mehrere Eintraege fuer

>> Taeglich laufen lassen und als erste Zeile folgendes verwenden:
>> [ `date +%m` == `date --date=tomorrow +%m` ] && exit 0

> Hm, mal abgesehen davon das mir nicht 100%ig klar ist was diese Zeile
> bewirkt, ist es IMHO besser -d yesterday zu verwenden wenn der Job
> bei obigem Bsp. teaglich laufen muss. Trotzdem Danke.

Hallo!
date +%m gibt die Nummer des Monat zurueck (Jaenner=1, ...).

[ `date +%m` == `date --date=tomorrow +%m` ] vergleicht ob morgen noch
der gleiche Monat wie heute ist - das ist nur am letzten Tag im Monat
falsch.

... && exit 0 beendet das Skript wenn ... wahr/korrekt/erfolgreich
ist.

Wenn du also ein Skript schreibst:
--------------
#!/bin/sh
# ~/bin/letzterdesmonats.sh

[ `date +%m` == `date --date=tomorrow +%m` ] && exit 0
tuedieanderensachen
--------------

Und es taeglich mittels cron aufrufst (in /etc/cron.daily/ packen oder
in die eigene crontab geben), dann wird "tuedieanderensachen" nur am
Monatsletzten aufgerufen, da sich das Skript andernfalls schon vorher
beendet.

War das jetzt verstaendlich und nachvollziehbar? (So dass du weisst,
was passiert wenn man "tomorrow" durch "yesterday" ersetzt?)
           cu andreas
-- 
Uptime: 10 seconds  load average: 0.00, 0.00, 0.00


--
-----------------------------------------------------------
Um sich aus der Liste auszutragen schicken Sie bitte eine
E-Mail an debian-user-de-request@lehmanns.de die im Subject
"unsubscribe <deine_email_adresse>" enthaelt.
Bei Problemen bitte eine Mail an: Jan.Otto@Lehmanns.de
-----------------------------------------------------------

684 eingetragene Mitglieder in dieser Liste.


Reply to: