comment exécuter cron job tous les 3 mois?

Réponses:

69

Le script suivant sera exécuté le 1er janvier, avril, juillet et octobre à 03h30.

30 03 01 Jan,Apr,Jul,Oct * /path/to/script

Alternativement, mais moins évident

30 03 01 */3 * /path/to/script

Courra tous les trois mois à 3h30 le 1er janvier, avril, juillet et octobre.

Richard Holloway
la source
5
+1: J'ai toujours pensé que la notation / était la plus évidente ... Je l'utilise autant que possible. (Les mots dans la partie planification de la crontab me font peur ... je le ferais: "0 0 1 3,6,9,12 * /path/to/script.bash" si je ne pouvais pas le faire / 3)
Satanicpuppy
11
ne serait pas */3tous les quatre mois (12/3 = 4)?
Warren
8
@ Warren Non, ce ne serait pas. La logique ici est plus une déclaration de vérité mod. Ex: if (12% 3 == 0): run_script (). J'ai aussi pensé à ça! Excellente question.
Goahnary
1
@Goahnary J'ai réalisé que peu de temps après, j'ai demandé des éclaircissements aussi :)
Warren
3
@warren cela devrait vraiment être un opérateur mod plutôt qu'une division. Mais bon, bien ¯_ (ツ) _ / ¯
Goahnary
7

Wikipedia a une bonne explication sur la façon de configurer Cron.

Dans votre cas particulier, vous pouvez exécuter une expression Cron à exécuter tous les 3 mois. Modifiez évidemment les mois en fonction de votre emploi du temps.

0 0 1 JAN,APR,JUL,OCT  * /path/to/script.bash
Jon Rhoades
la source