38

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

76

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.

| improve this answer | |
  • 5
    +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) – Satanicpuppy Apr 6 '10 at 14:27
  • 11
    wouldn't */3 be every four months (12/3 = 4)? – warren Feb 29 '16 at 21:45
  • 9
    @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. – Goahnary Dec 28 '16 at 19:13
  • 1
    @Goahnary I realized that a while after I asked for the clarification, too :) – warren Dec 28 '16 at 19:15
  • 4
    @warren it really should be a mod operator rather than a division. But oh well ¯_(ツ)_/¯ – Goahnary Dec 28 '16 at 19:17
8

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
| improve this answer | |
0

For JIRA (and other 6 digit cron expressions):

0 0 0 1 JAN,APR,JUL,OCT ?

| improve this answer | |
0

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.”

| improve this answer | |

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.