web-dev-qa-db-fra.com

Comment puis-je exécuter un travail cron toutes les 5 minutes à partir d'un temps autre que 0 minute?

J'aimerais qu'un script soit exécuté toutes les 5 minutes, par exemple à partir de 13h02, afin de pouvoir exécuter un autre script toutes les 5 minutes, mais à partir de 13h04, de sorte que le deuxième script s'exécute deux minutes après le début du premier travail. Comment puis-je atteindre cet objectif?

58
RazorHead

Utilisez ceci:

*/5+2 * * * * 1st-script
*/5+4 * * * * 2nd-script

Pour référence future, jetez un coup d'oeil à cette ligne Cron Job Generator .

Mise à jour

Comme il y a plusieurs rapports que le + La syntaxe ne fonctionne pas sur Ubuntu 14.04, voici une variante:

2-59/5 * * * * 1st-script
4-59/5 * * * * 2nd-script

Ainsi, le premier script s'exécutera toutes les 5 minutes en commençant par un décalage de 2 minutes au début de chaque heure et le second script se comportera de la même manière, avec un décalage de 4 minutes.

105
Rolando Isidoro

ou

*/5 * * * * sleep 120; ( first_script.sh & ) ; sleep 120 ; second_script.sh

Le bon côté de cette approche est que vous pouvez laisser crontab démarrer à des moments différents de la minute (30 secondes après l'heure, par exemple).

12
Emile Aben
*/5+1 * * * * first_script.sh

Pour exécuter toutes les cinq minutes, mais compenser une minute

6
dave