web-dev-qa-db-fra.com

Exécuter le travail Cron toutes les N minutes, plus l'offset

*/20 * * * *

S'assure qu'il fonctionne toutes les 20 minutes. J'aimerais exécuter une tâche toutes les 20 minutes à partir de 5 heures. Est-ce possible avec Cron? Serait-ce:

5/20 * * * *?

215
AJP

Pour exécuter une tâche toutes les 20 minutes à partir de 5 heures, essayez ceci:

 5-59/20 * * * *

Explication

Un * dans le champ des minutes est identique à 0-59/10-59 est la plage et 1 est l’étape . La commande sera exécutée à la première minute dans la plage (0), puis à toutes les minutes successives qui sont éloignées de la première par étape (1), jusqu'au dernier (59).

C'est pourquoi */20 * * * * fonctionnera à 0 minute, 20 minutes après et 40 minutes après - ce qui est identique à toutes les 20 minutes. Cependant, */25 * * * * fonctionnera à 0 minute, 25 minutes après et 50 minutes après - ce qui n’est pas la même chose que toutes les 25 minutes. C'est pourquoi il est généralement souhaitable d'utiliser une valeur de pas dans le champ des minutes qui se divise également en 60.

Donc, pour décaler l'heure de début, spécifiez explicitement la plage et réglez la première valeur sur le montant du décalage.

Exemples

5-59/20 * * * * fonctionnera 5 minutes après, 25 minutes après et 45 minutes après.

10-59/25 * * * * fonctionnera 10 minutes après et 35 minutes après.

1-59/2 * * * * fonctionnera toutes les minutes impaires.

447
toxalot

Sûr!

5,25,45 * * * * /your/cron
45
fedorqui

Vous pouvez essayer: */5 * * * * sleep N; your job

5
Leo Chu