Comment faire un travail cron toutes les 72 minutes
Comment aurais-je obtenir une tâche cron pour exécuter toutes les 72 minutes? Ou certains pas si joli numéro comme ça?
source d'informationauteur
Vous devez vous connecter pour publier un commentaire.
Depuis
cron
exécute des emplois du temps, pas d'intervalle de base, il n'y a pas aveuglément la manière la plus simple. Cependant, bien que c'est un peu un hack, vous pouvez configurer plusieurs lignes danscrontab
jusqu'à ce que vous trouver le dénominateur commun. Puisque vous voulez un travail à exécuter toutes les 72 minutes, il doit exécuter dans les délais suivants:Comme vous pouvez le voir, le schéma se répète toutes les 6 heures avec 5 emplois. Ainsi, vous disposerez de 5 lignes dans votre
crontab
:L'autre option, bien sûr, est de créer un wrapper de démon ou d'un script shell qui exécute et dort pendant la durée souhaitée jusqu'à l'arrêt.
Utiliser à (l'homme). Votre application ou un script de démarrage de calculer un temps de démarrage de 72 minutes dans l'avenir et de planifier lui-même pour exécuter de nouveau avant qu'il ne commence à travailler.
Disponible sur windows xp et vista.
Voici un exemple pour gnu/linux:- f command.sh maintenant, + 72 minutes
Vous pouvez toujours prendre l'approche de déclenchement cron toutes les minutes, et avoir votre script de quitter immédiatement s'il a été exécuté, plus récemment, de 72 minutes.
Vous ne pouvez directement le faire à partir de cron/crontab.
Cron travaux sont exécutés sur un calendrier précis, et non sur un intervalle de temps spécifique.
Une alternative serait d'élaborer un programme qui se rapprochait de votre "toutes les 72 minutes" en cours d'exécution à minuit, 1:12, 2:24, 3:36, ..., et en l'étirant vers approximative de frapper jusqu'à minuit. Votre fichier crontab pourrait spécifier tous ces moments que temps pour s'exécuter.
Une autre alternative serait d'avoir une poignée d'application de la programmation, et le feu de votre application.
Vous aurez besoin de définir exactement 20 tâches pour cela - c'est à dire de définir l'un à 00:00, prochaine à 01:12, suivant à 02:24, etc.
20 itérations faire une journée complète.
Malheureusement, c'est la seule façon de le faire, comme des tâches cron sont mis en place dans un calendrier fixé à l'avance au lieu d'être exécuté, dire, "après X minutes de la dernière tâche a été exécutée".
Ne pas utiliser cron...
Euh je sais que c'est beaucoup de retard, mais j'étais à la recherche à certaines des questions de calendrier et vu cette question.
Viens de le faire dans votre crontab
*/72 * * * * /home/script.sh