how to run cron job every 3 months?

91,867

Solution 1

The following will run script on the 1st of Jan, Apr, Jul and Oct at 03:30

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

Alternatively, but less obvious

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

Will run every three months at 03:30 on the 1st of Jan,Apr,Jul and Oct.

Solution 2

Wikipedia has a nice explanation about how to configure Cron.

For your specific case you could run a Cron Expression to run every 3 months- obviously change the months to suit your schedule.

0 0 1 JAN,APR,JUL,OCT  * /path/to/script.bash

Solution 3

The accepted answer is good, thou I'd use an alternative with simpler numbers and easier to read: https://crontab.guru

0 0 1 */3 *

Read like this: “At 00:00 on day-of-month 1 in every 3rd month.”

Share:
91,867

Related videos on Youtube

haim evgi
Author by

haim evgi

Work as web developer, on LAMP. SOreadytohelp

Updated on September 17, 2022

Comments

  • haim evgi
    haim evgi over 1 year

    What would be the crontab entry look like for a job that runs on the first day of every third month?

  • Satanicpuppy
    Satanicpuppy about 14 years
    +1: I always thought the / notation was the MOST obvious...I use it wherever possible. (Words in the scheduling part of the crontab freak me out...I'd do: "0 0 1 3,6,9,12 * /path/to/script.bash" if I couldn't do /3)
  • warren
    warren about 8 years
    wouldn't */3 be every four months (12/3 = 4)?
  • Goahnary
    Goahnary over 7 years
    @warren No it would not. The logic here is more of a mod truth statement. Ex: if(12%3 == 0): run_script(). I thought about this as well! Great question.
  • warren
    warren over 7 years
    @Goahnary I realized that a while after I asked for the clarification, too :)
  • Goahnary
    Goahnary over 7 years
    @warren it really should be a mod operator rather than a division. But oh well ¯_(ツ)_/¯
  • bharat
    bharat almost 5 years
    @Goahnary So I think it will run on Mar, Jun, Sep, & Dec right rather than in answer: 'Jan,Apr,Jul,Oct'