*/20 * * * *
S'assure qu'il s'exécute toutes les 20 minutes, je voudrais exécuter une tâche toutes les 20 minutes, à partir de 5 heures, est-ce possible avec Cron? Serait-ce:
5/20 * * * *
?
*/20 * * * *
S'assure qu'il s'exécute toutes les 20 minutes, je voudrais exécuter une tâche toutes les 20 minutes, à partir de 5 heures, est-ce possible avec Cron? Serait-ce:
5/20 * * * *
?
Réponses:
Pour exécuter une tâche toutes les 20 minutes à partir de 5 heures, essayez ceci:
5-59/20 * * * *
Explication
Un *
champ dans les minutes est le même que celui 0-59/1
où se 0-59
trouve la plage et 1
l' étape . La commande s'exécutera à la première minute de la plage (0), puis à toutes les minutes successives éloignées de la première par étape (1), jusqu'à la dernière (59).
C'est pourquoi */20 * * * *
s'exécutera à 0 minute, 20 minutes après et 40 minutes après - ce qui est le même que toutes les 20 minutes. Cependant, */25 * * * *
s'exécutera à 0 minute, 25 minutes après et 50 minutes après - ce qui n'est pas le même que toutes les 25 minutes. C'est pourquoi il est généralement souhaitable d'utiliser une valeur de pas dans le champ minute qui se divise également en 60.
Ainsi, pour compenser l'heure de début, spécifiez la plage de manière explicite et définissez la première valeur sur la quantité de décalage.
Exemples
5-59/20 * * * *
s'exécutera 5 minutes après, 25 minutes après et 45 minutes après.
10-59/25 * * * *
se déroulera 10 minutes après et 35 minutes après.
1-59/2 * * * *
s'exécutera toutes les minutes impaires.
Sûr!
5,25,45 * * * * /your/cron
5-59/20
c'est possible, mais 5,25,45
a l'avantage que c'est immédiatement très clair ce que cela fait.
Tu peux essayer: */5 * * * * sleep N; your job
sleep `shuf -i 1-100 -n 1`
fait l'affaire.