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


237

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

Réponses:


385

Faites juste:

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

Le 0 au début signifie courir à la 0e minute. (S'il s'agissait d'un *, le script s'exécuterait toutes les minutes pendant toutes les deux heures.)

N'oubliez pas, vous pouvez vérifier syslog pour voir s'il a réellement fonctionné!


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

102

La ligne doit se lire soit:

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
"0-23 / 2" - entre les heures 0 et 23, exécutez toutes les 2 heures.
James Anderson

0-23 / 2 beaucoup mieux que * / 2
Kad

2
@Kad pourquoi en est-il ainsi?
Ciprian Tomoiagă

Et les heures impaires? Puis-je ajouter +1
Shravya Boggarapu

si votre cron le supporte, 0-23/2c'est toutes les heures paires et 1-23/2toutes les heures impaires, mais je préfère quand */2même.
Betlista


4

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

0 * / 2 * * * «À la minute 0 après toutes les 2 heures.»

C'est la bonne façon de définir des tâches cron pour chaque heure.


0

Pour entrer dans crontab:

crontab -e

écrivez ceci dans le fichier:

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

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

et assurez-vous d'avoir conservé une ligne vierge après la dernière tâche cron dans votre fichier crontab

En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.