Cron twice a month (1st and 15th)
Twice a month in cron is 0 0 1,15 * * (Unix) or 0 0 0 1,15 * ? (Quartz, Spring), on the 1st and 15th; next runs are calculated in your browser.
0 0 1,15 * *
0 0 0 1,15 * ?
cron(0 0 1,15 * ? *)
Read by our parser as: At 12:00 AM (midnight), on the 1st and 15th of the month. Open in the cron checker
Next 10 runs
Calculating in your browser...
- 1
- 2
- 3
At a glance
- Accepts
- Nothing to enter - the schedule is preset on the page
- Outputs
- The expression in Unix, Quartz/Spring and AWS form, plus its next 10 run times
- Where it runs
- Entirely in your browser, on your device
- What leaves your device
- Nothing - what you type stays in this tab
- Limits
- Run times use your browser's timezone or UTC; real schedulers can start a run late
- Account
- Not required - there is no sign-up
- Price
- Free, with no watermark and no usage cap
- Made by
- Visrut
What it means
0 0 1,15 * * runs at 00:00 on the 1st and the 15th of every month: two runs a month, 24 a year. The gaps aren't equal (14 days, then 13 to 16 depending on the month), which is usually what you want for semi-monthly billing or pay runs.
When this is the right schedule
Use it when you follow a semi-monthly calendar (pay periods, invoice runs) where the date matters more than an exact interval.
When to pick something else
Look elsewhere when you need exactly every 14 days; cron can't do that, because it has no week counter. Run weekly and check the week number in the job.
Things to watch
Adding a weekday changes the meaning
crontab(5)'s own example 30 4 1,15 * 5 runs on the 1st, the 15th and every Friday, because both day fields are set. To pay on the nearest weekday, Quartz and Spring can use 1W,15W in day of month.
1st and 15th versus 15th and last day
Many pay schedules use the 15th and the last day. In Quartz and Spring that's 0 0 9 15,L * ?; in Unix cron it needs the last-day workaround.
Not every 2 weeks
Fortnightly (every other Friday, say) isn't expressible in one cron line. Schedule weekly and test the ISO week number in the job.
Frequently asked questions
How do I run on the 1st and 15th at 9 AM?
0 9 1,15 * * in Unix cron, 0 0 9 1,15 * ? in Quartz or Spring.
Can cron run every 2 weeks?
Not directly. Schedule it weekly and have the job skip alternate weeks based on the week number.