Zeitlich driftender Cron-Job ?

Gast #5403806
Lesenswert?

Hi, gibt es eine Möglichkeit einen Zeitlich driftenden Cron-Job 
anzulegen?
Ich bräuchte das um die Zeitliche Auflösung einer Statistischen 
Datenerassung zu vergrößern.


Beispeil
"*/15   * *  Irgendwascmd"  läuft zu jeder Viertel Stunde.
d.h. meine Daten haben auch nur eine Auflösung von 15 Minuten 
Intervallen. Die Häufigkeit der Datenerfassung soll aber ansich nicht 
großartig verändert werden.

16:00 Datensatz 1
16:15 Datensatz 2
16:30 Datensatz 3
usw ...

beim nächsten Durchlauf  soll die Ausführung um eine Minute verschoben 
werden und folgendermaßen aussehen:

16:01 Datensatz 1
16:16 Datensatz 2
16:31 Datensatz 3
usw ...

noch einen Tag später hätte ich dann gerne wieder eine Minute oben drauf

16:02 Datensatz 1
16:17 Datensatz 2
16:32 Datensatz 3
usw ...

Geht das mit Cron Bordmitteln oder muss ich mir ein scipt bauen, dass 
den Task noch X Minuten bis zur Ausführung pausiert?
#5403844
Lesenswert?

Direkt mit cron geht es wohl nicht, aber das "sleep" kann mit in die 
crontab. Ich würde folgendes Konstrukt vorschlagen.
1
*/15 * * * * sleep $(expr $(date +%s) / 86400 % 15); Irgenswascmd

Also die Unix-Zeit als Sekunden in Tage umrechnen und modulo 15 nehmen. 
Das gibt einen täglich wachsenden Wert von 0 bis 14.

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren