226 votes

Comment exécuter le cron une fois, tous les jours à 22 heures ?

J'étais entré :

* 22 * * * test > /dev/null

Cependant, je suis informé par courrier électronique que cette opération est en cours toutes les minutes. Je suis confus car je pensais que cela correspondait à ce que je voulais.

431voto

Marc Simon Points 754

Il fonctionne toutes les minutes de l'heure 22 je suppose. Essayez ce qui suit pour le faire fonctionner toutes les premières minutes de l'heure 22 :

0 22 * * * ....

185voto

Voici d'autres exemples

  • Fonctionne toutes les 6 heures à 46 minutes de l'heure :

    46 */6 * * *

  • Course à 2h10 du matin :

    10 2 * * *

  • Course à 3h15 du matin :

    15 3 * * *

  • Course à 4h20 du matin :

    20 4 * * *

  • Courir à 5h31 du matin :

    31 5 * * *

  • Exécution à 17 h 31 :

    31 17 * * *

67voto

jaypal Points 34440

Pour l'exécuter une fois par jour à 22 heures, vous devez faire quelque chose comme ceci :

0 22 * * *

enter image description here

Image en taille réelle : http://i.stack.imgur.com/BeXHD.jpg

Source : softpanorama.org

32voto

NullSoulException Points 808

Voici ce que je regarde à chaque fois que j'écris une nouvelle entrée crontab :

Pour démarrer l'édition à partir du terminal -type :

 zee$ crontab -e

ce que vous allez ajouter au fichier crontab :

0 22 * * 0  some-user /opt/somescript/to/run.sh

Ce que cela signifie :

[ 
+ user => 'some-user',      
+ minute => ‘0’,             <<= on top of the hour.
+ hour => '22',              <<= at 10 PM. Military time.
+ monthday => '*',           <<= Every day of the month*
+ month => '*',              <<= Every month*
+ weekday => ‘0’,            <<= Everyday (0 thru 6) = sunday thru saturday
] 

Vérifiez également le shell utilisé par votre machine et nommez le fichier en conséquence, sinon il ne s'exécutera pas.

Vérifiez l'obus avec soit echo $SHELL ou echo $0

Il peut s'agir du "Bourne shell (sh) Bourne again shell (bash) ,Korn shell (ksh) ..etc"

4voto

La syntaxe de crontab

* * * * * 

Minute(0-59) Hour(0-24) Day_of_month(1-31) Month(1-12) Day_of_week(0-6) Command_to_execute

Votre syntaxe

* 22 * * * test > /dev/null

votre travail sera exécuté toutes les minutes à 22:00 heures pendant toute la semaine, le mois et l'année.

L'ajout d'une option (0-59) à l'emplacement des minutes l'exécutera une fois à 22h00 toute la semaine, le mois et l'année.

0 22 * * * command_to_execute 

Source : https://www.adminschoice.com/crontab-quick-reference

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