2016-05-24 20 views
0

Zum Beispiel möchte ich Job alle 6 Minuten zwischen;Cron Job zwischen bestimmten Zeiten und Häufigkeit einstellen

16.34 bis 18.45

So muss es auf 16.34 laufen, 16.40, 16.46 usw. zu 18:40 Uhr.

Als ich

34-45 16-18 * * * 

schreiben Es funktioniert nur zwischen 16: 34-16: 45 und 18: 34-18: 45. Aber ich will das nicht.

Ist es möglich, dies zu machen?

Danke

Antwort

0

Hm, wo in Ihrem cron Linie der Teil "alle 6 Minuten" ist? Auch, warum würde Ihr Cron zu 18:40 gehen, würde nicht 18:42 das letzte Mal sein, dass Sie es ausführen möchten? Lass es mich wissen, wenn ich die Frage nicht richtig verstehe.

Wie dem auch sei aber nicht sicher, ob es in einer Cron-Linie möglich ist, aber man konnte immer so etwas wie:

34/6 16 * * * 
*/6 17 * * * 
0,6,12,18,24,30,36,42 18 * * * 

 

Edit: Oder, wenn Sie die Kontrolle haben und sind in der Lage zu bearbeiten die Datei/ausführbare cron läuft könnten Sie tun:

*/6 16-18 * * * /path/to/myScript 

Und dann ganz am Anfang von myScript:

if time < 16:34 or time > 18:45: 
    exit # kill script 
+0

Ich benutze Hangfire als Scheduler. Es wartet auf Cron-String. Wie kann ich mehr als eine Cron-Zeichenfolge übergeben? Und ich nehme diese Zeit Werte von Benutzer mit Zeitauswahl. Also muss es dynamisch gearbeitet werden. – Gyepesto

+0

@Gyepesto hm Entschuldigung, ich habe keine Erfahrung mit Hangfire oder Zeitauswahl, ich nahm gerade an, dass Sie Zeilen zur Crontab Ihres Benutzers oder etwas hinzufügten ('crontab -e'). Anstatt mehr als eine Zeichenfolge zu übergeben, können Sie einfach drei separate Aufrufe mit jeweils einer Zeichenfolge erstellen? Vielleicht, wenn Sie Ihre Frage mit Ihrem tatsächlichen Code bearbeiten, kann ich helfen. – drewyupdrew