Hallo!
Kurze Frage: Ich möchte eine Cron-Job alle 110 Minuten starten. Wie mache ich das?
Danke! Sebastian
Sebastian Hegler sebastian@broken-by-design.com schrieb:
Hallo!
Kurze Frage: Ich möchte eine Cron-Job alle 110 Minuten starten. Wie mache ich das?
Hallo!
Mit cron habe ich wirklich keine Ahnung, wie du es machen kannst, aber warum nicht mit at versuchen?
Du startest das Prozess das erste Mal mit at und die berechnete Zeit, das Prozess wird dann aufgerufen, rechnet die neue Startzeit, ruft nochmal at um sich wieder in 110 Minuten aufzurufen, und dann macht was es machen soll.
Es sollte funktionieren...
Grüße Luca Bertoncello (lucabert@lucabert.de)
On Tuesday 13 October 2009, Sebastian Hegler wrote:
Kurze Frage: Ich möchte eine Cron-Job alle 110 Minuten starten. Wie mache ich das?
110 Minuten ist wirklich eine krumme Zeit. Wie kommt man auf sowas?
120 Minuten wäre trivial: das sind 2 Stunden (*/2). Kannst Du nicht die 10 Minuten länger warten?
Ansonsten kannst Du nur aller 10 Minuten ein Script starten und im Skript bis 11 hochzählen bevor Du was machst.
Konrad
On Tuesday 13 October 2009 21:41:37 Sebastian Hegler wrote:
Hallo!
Kurze Frage: Ich möchte eine Cron-Job alle 110 Minuten starten. Wie mache ich das?
Danke! Sebastian
Vielleicht hilft hier Dreistigkeit. Die reine Lehre wäre: cron -e */110 * * * * /command/to/execute
Ich habe keine Lust, das zu probieren.
Gibst Du mal Nachricht, ob das geht? Wenn Min nach 59 überläuft klappts ja schon beim ersten Mal nicht.
Ansonsten mit at und über ein "recursives" script a la at -f /command/to/execute +1 MIN (bei at geht nicht jeder Pfad zu benutzen)
execute: <...> at -f /command/to/execute NOW +110MIN
Viel Erfolg
Bernhard
On Wed, Oct 14, 2009 at 12:21:51PM +0200, Bernhard Schiffner wrote:
Vielleicht hilft hier Dreistigkeit. Die reine Lehre wäre: cron -e */110 * * * * /command/to/execute
Das klappt mit Sicherheit nicht: */xy ist eine Modulo-Funktion. Der Job wird ausgeführt bei Minute modulo xy = 0, also nur bei Minute 0.
Christian
On Wednesday 14 October 2009 12:35:46 Christian Kuenstner wrote:
On Wed, Oct 14, 2009 at 12:21:51PM +0200, Bernhard Schiffner wrote:
Vielleicht hilft hier Dreistigkeit. Die reine Lehre wäre: cron -e */110 * * * * /command/to/execute
Das klappt mit Sicherheit nicht: */xy ist eine Modulo-Funktion. Der Job wird ausgeführt bei Minute modulo xy = 0, also nur bei Minute 0.
Christian
Danke für die Klarstellung (Ich hatte es noch als Test laufen. wäre ja in 5 Minuten soweit gewesen.)
Bei at sehe ich nur das Problem, wie man den ersten Start nach boot hinbekommt ...
Bernhard
On Wed, Oct 14, 2009 at 12:53:11PM +0200, Bernhard Schiffner wrote:
On Wednesday 14 October 2009 12:35:46 Christian Kuenstner wrote:
On Wed, Oct 14, 2009 at 12:21:51PM +0200, Bernhard Schiffner wrote:
Die reine Lehre wäre: cron -e */110 * * * * /command/to/execute
Das klappt mit Sicherheit nicht: */xy ist eine Modulo-Funktion. Der Job wird ausgeführt bei Minute modulo xy = 0, also nur bei Minute 0.
Danke für die Klarstellung (Ich hatte es noch als Test laufen. wäre ja in 5 Minuten soweit gewesen.)
Bei at sehe ich nur das Problem, wie man den ersten Start nach boot hinbekommt ...
cron kennt eine Zeitangabe @reboot, die sich dafür nutzen lässt.
Viele Grüße Jan
Hallo Sebastian,
Sebastian Hegler wrote:
From: Sebastian Hegler sebastian@broken-by-design.com
^^^^^^^^^^^^^^^^
Am 13.10.2009 um 21:41 schrieb Sebastian Hegler:
Kurze Frage: Ich möchte eine Cron-Job alle 110 Minuten starten. Wie mache ich das?
Danke! Ich hab mich für 120 Minuten entschieden, das ist am streßfreiesten. Schade, daß es ohne Bastelei nicht geht.
Naja, 110 Minuten wären fast... passend zu dem Domainnamen da oben ;)
Andererseits, wenn du alle 10 Minuten (*/10) das Skript starten würdest, und dann anfangen würdest zu rechnen:
#!/bin/bash MIN=$((60*$(date +%H)+$(date +%M))) MODULO=$(($MIN % 110)) if [ $MODULO = "0" ] ; then # Rest des Skripts fi
dann wäre das mit überschaubarem Aufwand machbar. Aber irgendwie kommt da die Assoziation zum Domainnamen wieder... :)
MfG Sebastian
Ciao, Thomas
lug-dd@mailman.schlittermann.de