286 votes

Comment exécuter une tâche cron toutes les 2 heures ?

Comment puis-je écrire une Crontab qui lancera mon /home/username/test.sh script toutes les 2 heures ?

450voto

Adam Points 503

Fais-le :

0 */2 * * *  /home/username/test.sh 

Le 0 au début signifie s'exécuter à la 0e minute. (Si c'était un *, le script s'exécuterait toutes les minutes pendant une heure sur deux).

N'oubliez pas que vous pouvez vérifier dans le syslog s'il a été exécuté !

0 votes

@ernest-conill Comment pouvez-vous le dire ? l'historique des révisions ne contient pas une version qui inclut un code différent : stackoverflow.com/posts/6423532/revisions

121voto

James Anderson Points 18253

La ligne doit être libellée comme suit :

0 0-23/2 * * * /home/username/test.sh

ou

0 0,2,4,6,8,10,12,14,16,18,20,22 * * * /home/username/test.sh

3 votes

"0-23/2" -- entre les heures 0 et 23, fonctionne toutes les 2 heures.

0 votes

0-23/2 beaucoup mieux que */2

2 votes

@Kad pourquoi est-ce le cas ?

20voto

g10guang Points 712
0 */2 * * *

La réponse vient de https://crontab.guru/every-2-hours . C'est intéressant.

15voto

Bibin Joseph Points 351

0 */1 * * * "A la minute 0 après chaque heure."

0 */2 * * * "A la minute 0 passée toutes les 2 heures."

C'est la bonne façon de définir les cronjobs pour chaque hr.

8voto

Suraj Kulkarni Points 11

Pour entrer dans crontab :

crontab -e

écrire ceci dans le fichier :

0 */2 * * * python/php/java yourfilepath

Exemple : 0 */2 * * * python ec2-user/home/demo.py

et assurez-vous que vous avez gardé une ligne vide après la dernière tâche cron dans votre fichier crontab

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X