Once a Month (1st at Midnight) Cron Expression for Azure

0 0 0 1 * *

Try it live

Valid
MINMinute
0
HRHour
9
DOMDay of Month
*
MONMonth
*
DOWDay of Week
1-5

In plain English

At 09:00 AM, Monday through Friday

English → Cron

Try: "every 5 minutes", "every weekday at 9am", "every Monday at 3pm", "every month on the 1st"

Next 10 Executions

UTC
  1. 1Mon, May 18, 09:00 AM UTCin 3d
  2. 2Tue, May 19, 09:00 AM UTCin 4d
  3. 3Wed, May 20, 09:00 AM UTCin 5d
  4. 4Thu, May 21, 09:00 AM UTCin 6d
  5. 5Fri, May 22, 09:00 AM UTCin 7d
  6. 6Mon, May 25, 09:00 AM UTCin 10d
  7. 7Tue, May 26, 09:00 AM UTCin 11d
  8. 8Wed, May 27, 09:00 AM UTCin 12d
  9. 9Thu, May 28, 09:00 AM UTCin 13d
  10. 10Fri, May 29, 09:00 AM UTCin 14d
crontab entrybash
# Add to crontab with: crontab -e
0 9 * * 1-5    /path/to/your/script.sh

When to use this schedule

  • Monthly invoice generation sent to customers on the 1st
  • Full database dumps at the start of each month for compliance archiving
  • Renewing SSL certificates that are rotated monthly
  • Aggregating the previous month's analytics for executive dashboards

Platform Syntax Comparison

The same "Once a Month (1st at Midnight)" schedule expressed in every major platform's cron syntax.

PlatformExpression
Standard Linux/Unix
0 0 1 * *
GitHub Actions
0 0 1 * *
Google Cloud Scheduler
0 0 1 * *
Kubernetes CronJob
@monthly
Azure Functions (NCRONTAB)
0 0 0 1 * *
AWS EventBridge
0 0 1 * ? *
Quartz Scheduler
0 0 0 1 * ?
Spring @Scheduled
0 0 0 1 * *
Jenkins
H H 1 * *
Apache Airflow
@monthly

Frequently Asked Questions

Is @monthly the same as "0 0 1 * *"?
Yes — @monthly is an alias for "0 0 1 * *" in standard cron, Kubernetes, and Airflow. It runs at midnight on the 1st of every month.
What if I want the job to run on the last day of every month?
Standard cron has no "last day" feature. In Quartz, use "L" in the day-of-month field: "0 0 0 L * ?". In standard cron, a workaround is a script that checks the date at runtime.

Related Expressions