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

Re: Alternative zu cron/anacron



On Tue, Feb 02, 2016 at 01:54:24PM +0100, Andre Tann wrote:
[...]
Genau das wollte ich mir eben sparen. Mit den Datumswerten herumrechnen,
Zeitzonen berücksichtigen, Soll-Laufzeiten aus einer crontab-artigen
Datei parsen... alles nicht so schön.

Da gibt es in diversen Scriptsprachen ausgesprochen hilfreiche Module, um
mit Zeiten zu rechnen. Ich erledige das mit Perl und Modulen (Bibliothekn)
wie DateTime oder Date::Calc das hat so nette Funktionen wie
Monday_of_Week(...), Add_Delta_Days(...) und damit kann ich, ausgehend von
einem Starttermin (z.B. dem des letzten Laufes eines Scripts, den dieses in
einem File hinterlegte) alle Folgetermine recht einfach berechnen.

Beispiel?

   # first day of the given week (i.e. Monday)
 my ($year1, $month1, $day1) = Monday_of_Week($kw, $year);

 # last day of this week (i.e. Sunday)
 my ($year2, $month2, $day2) = Add_Delta_Days($year1, $month1, $day1, 6);

 if ($month < $month2) {
   # month changes, compute month of Thursday
   (undef, $month, undef) = Add_Delta_Days($year, $month1, $day1, 3);
   [...]

Das stellt zu einer gegebenen Kalenderwoche fest, ob sie noch in "diesem"
oder schon im "nächsten" Monat liegt. Der Donnerstag bestimmt das dann.

Solche Bibliotheken gibt's vermutlich auch für die Scriptsprache Deiner
Wahl, sonst lernst Du halt eine neue. Schadet ja nicht, mehr als nur einen
Hammer im Werkzeugkasten zu haben ;-)

	--jc

P.S. Ein paar Links

http://search.cpan.org/¨tbey/Date-Calc-6.4/lib/Date/Calc.pod
http://perltricks.com/article/59/2014/1/10/Solve-almost-any-datetime-need-with-Time--Piece

--
 I don't care about bloat because it's inefficient. I care about it
 because it makes the web inaccessible. Keeping the Web simple keeps it
 awesome.
	-- Maciej Ceglowski, http://idlewords.com/talks/website_obesity.htm


Reply to: