web-dev-qa-db-fra.com

Comment configurer le travail CRON pour qu'il s'exécute toutes les 10 secondes sous Linux?

J'ai besoin d'exécuter un travail CRON toutes les 10 secondes à partir de l'heure de début.

Sous Linux, comment exécuter un travail CRON toutes les 10 secondes à partir du moment où il a démarré?

J'essaie de faire comme suit-

lorsque je fais une demande (ou que je démarre) à 04:28:34, cela devrait commencer à 04:28:44 et non à 4:28:4

C'est ce que j'ai fait et j'essaie,

# m h  dom mon dow   command
*/10 * * * * /usr/bin/wget http://api.us/application/

Quel mal ai-je fait ici pour ne pas fonctionner toutes les 10 secondes?

24
dev1234

Pour développer la réponse de Sougata Bose, je pense que l'OP veut qu'une commande soit exécutée toutes les 10 secondes à partir d'une heure de début; pas 10 secondes après la première minute et toutes les minutes suivantes.

cron n'a qu'une résolution de 1 minute (il y a d'autres outils qui, je pense, peuvent avoir des résolutions plus fines mais ils ne sont pas standard sur unix).

Par conséquent, pour résoudre votre problème, vous avez besoin de 60 secondes/10 secondes = 6 tâches cron, chacune avec un sommeil.

par exemple. exécutez crontab -e et ajoutez les lignes suivantes à l'éditeur que vous avez choisi:

***** ( /usr/bin/wget http://api.us/application/ )  
***** ( sleep 10 ; /usr/bin/wget http://api.us/application/ )  
***** ( sleep 20 ; /usr/bin/wget http://api.us/application/ )  
***** ( sleep 30 ; /usr/bin/wget http://api.us/application/ )  
***** ( sleep 40 ; /usr/bin/wget http://api.us/application/ )  
***** ( sleep 50 ; /usr/bin/wget http://api.us/application/ )  
38
Rodent

Vous avez spécifié */10 dans les minutes. Cron ne permet qu'un minimum d'une minute. Vous pouvez essayer ceci -

* * * * * ( sleep 10 ; /usr/bin/wget http://api.us/application/)

Qui l'exécutera toutes les 10 secondes avec sommeil.

6
Sougata Bose