Run a Cron Job on the 15th of Every Month

Runs at midnight on the 15th of every month.

crontab -e
0015**
$0 0 15 * *

Field Breakdown

0

Minute

0–59

0

Hour

0–23

15

Day of Month

1–31

*

Month

1–12

*

Day of Week

0–6

How It Works

The expression 0 0 15 * * fires on the 15th of each month at midnight. Mid-month scheduling is typical for bi-monthly operations like payroll, compliance checks, and mid-cycle reports. Combined with a 1st-of-month job, this creates a twice-monthly (semi-monthly) processing cadence commonly used in payroll and finance systems.

The day-of-month field is set to 15, which matches only the 15th calendar day. Since every month has at least 15 days, this job fires reliably every month without the edge cases that affect schedules set to days 29–31. The midnight timing (minute 0, hour 0) ensures processing happens during off-peak hours.

Platform Usage

Linux: "0 0 15 * * /opt/payroll/run-payroll.sh". For bi-monthly scheduling, combine with "0 0 1 * *" for 1st-and-15th processing. In cloud environments, use Google Cloud Scheduler or AWS EventBridge with this cron expression to trigger serverless functions for mid-month financial reconciliation.

Common Use Cases

1

Mid-month payroll processing

2

Generating semi-monthly compliance reports

3

Running mid-cycle inventory checks

4

Sending mid-month progress updates

try-it

$ crongen --customize "0 0 15 * *"

Want to tweak this schedule or see the next run times?

Open in Generator

Related Examples