144 votes

Exécution d'une tâche cron sur Linux toutes les six heures

Comment puis-je exécuter une commande toutes les six heures tous les jours ?

J'ai essayé ce qui suit, mais cela n'a pas fonctionné :

/6 * * * * * mycommand

7 votes

2 votes

Comment * */6 * * *

337voto

nos Points 102226

Vous avez oublié un *, et vous avez trop de champs. Il est temps de vous en préoccuper

0 */6 * * * /chemin/vers/moncommande

Cela signifie chaque six heures à partir de 0, c'est-à-dire à l'heure 0, 6, 12 et 18 que vous pourriez écrire comme

0 0,6,12,18 * * * /chemin/vers/moncommande

0 votes

Merci pour la réponse, c'est toutes les 6 heures à partir de quelle heure ? L'heure à laquelle le cron est créé ?

0 votes

Merci, donc si je voulais l'exécuter à partir de 15h00 toutes les 6 heures, ça serait 15 15,23,05,11 * * * /chemin/vers/moncommande ?

6 votes

Oui, bien que le premier champ soit la minute, que vous avez réglée sur 15, cela signifiera donc 15:15, 23:15, 05:15 et 11:15. (ce qui n'est pas toutes les 6 heures d'ailleurs, vous auriez peut-être voulu dire 0 15,21,3,9 * * *)

6voto

Brian Agnew Points 143181

Vous devez inclure un chemin vers votre commande, car cron s'exécute avec un environnement très limité. Vous n'aurez pas toutes les variables d'environnement que vous avez dans votre session shell interactive.

Il est judicieux de spécifier un chemin absolu vers votre script/binaire, ou de définir PATH dans le crontab lui-même. Pour aider à déboguer tout problème, je redirigerais également stdout/err vers un fichier journal.

1 votes

Merci pour la réponse, mais si je déclare des variables d'environnement à l'intérieur de mon fichier sh comme export variable=something, est-ce que je peux toujours les utiliser à l'intérieur de ce même script ? et j'utilise souvent la commande date à l'intérieur du script

0 votes

@Gandalf - Oui. Vous pouvez définir toutes vos variables d'environnement à l'intérieur du script. C'est une bonne idée car cela signifie que votre script est autonome et isolé des autres choses que vous pourriez vouloir exécuter dans cron

5voto

rkoots Points 157
0 */6 * * * commande

Ce sera le moyen parfait de dire 6 heures par jour.

Votre commande se met en route pour six minutes!

3 votes

@ArsenArsen Je suis assez sûr que c'était parce que cela n'ajoute vraiment rien à la réponse acceptée existante, écrite 4 ans avant.

5voto

Andrea Bisello Points 413

Veuillez prêter attention à cette syntaxe:

* */6 * * *

Cela signifie 60 fois (chaque minute) toutes les 6 heures,

pas

une fois toutes les 6 heures.

0voto

Nilesh Patil Points 27
0 */6 * * *

La crontab toutes les 6 heures est une planification cron couramment utilisée.

5 votes

Qu'est-ce que cette réponse ajoute que les autres réponses n'ont pas? @rkoots a déjà mentionné cette commande exacte.

0 votes

"Communément utilisé"? Pourquoi? Pouvez-vous élaborer?

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