Perl Cron Scheduler: commencer à temps x, exécuter toutes les minutes pour toujours y
Question
J'utilise Cron perl, et je veux faire une règle comme celle-
exécuter toutes les xx min / heure à partir de yy: yy temps (jusqu'à la fin du temps)
Comment puis-je mettre cela en une chaîne de Cron? perl: Cron semble utiliser la même syntaxe que Cron régulière si une chaîne de Cron régulière devrait fonctionner
TIA!
La solution
La réponse courte est que vous devrez soit d'écrire vous-même ou de trouver un autre paquet tiers, en raison de vos besoins. Il y a deux choses que vous demandez que Cron ne fait pas:
-
Exécuter toutes les X minutes.
Dites que vous voulez exécuter toutes les 40 minutes, et vous écrivez ce
*/40 * * * *
. Cela va en fait toutes les 60 minutes à 1h40, 2h40, etc. -
Marche / Arrêt à l'heure Y / Z.
Il n'y a simplement pas de syntaxe cron pour cela. Vous pouvez utiliser un couple plus cronjobs pour ajouter / retirer le principal cronjob aux heures spécifiées, mais cela sent un peu comme code automodifiant. Compte tenu de la complexité (lire: manque de fiabilité)., Il est probablement préférable de trouver un autre système
Autres conseils
Vous pouvez spécifier des intervalles avec une barre oblique. Voici toutes les 5 minutes:
*/5 * * * *
Ceci est toutes les 2 heures:
0 */2 * * *
Vous ne pouvez pas donner une heure de début / fin en Cron.