Cron Job on the first day of the month

Run a task at midnight on the 1st of every month for monthly billing and reports. Use the cron string 0 0 1 * *, see the next 5 execution times, and copy Python, Node.js, Bash and n8n snippets.

Quick Answers

What does the "on the first day of the month" cron expression mean?
This cron expression is "0 0 1 * *", which in plain English means: Run a task at midnight on the 1st of every month for monthly billing and reports..
When will this cron expression run next?
With the expression "0 0 1 * *", the next execution times are Tue, Sep 01, 2026, 12:00:00 AM UTC, Thu, Oct 01, 2026, 12:00:00 AM UTC, Sun, Nov 01, 2026, 12:00:00 AM UTC.
How do I use this cron expression?
Copy the exact string into crontab, cron triggers, or any scheduler such as GitHub Actions, n8n or Docker. Pre-built code snippets for Python, Node.js, Bash, Docker, GitHub Actions and n8n are included on this page.
Explore the full Cron Cheat Sheet with all 50 schedules
Cron Expression
Copy this exact string into crontab, cron triggers, or schedulers.
0 0 1 * *

Human readable

Run a task at midnight on the 1st of every month for monthly billing and reports.

Next 5 execution times

  1. 1Tue, Sep 01, 2026, 12:00:00 AM UTC
  2. 2Thu, Oct 01, 2026, 12:00:00 AM UTC
  3. 3Sun, Nov 01, 2026, 12:00:00 AM UTC
  4. 4Tue, Dec 01, 2026, 12:00:00 AM UTC
  5. 5Fri, Jan 01, 2027, 12:00:00 AM UTC
Python
from crontab import CronTab
from datetime import datetime

# Install: pip install python-crontab
cron = CronTab(user=True)
job = cron.new(command="/usr/bin/python3 /var/www/job_first-day-of-month.py", comment="scheduled by crongen")
job.setall("0 0 1 * *")
cron.write()

print(f"Installed: 0 0 1 * * -> /usr/bin/python3 /var/www/job_first-day-of-month.py")

Cron expression FAQ