Home โบ Crontab โบ Once a year on January 1st
Crontab cron expression: once a year on January 1st
To run a Crontab job once a year on January 1st, use:
0 0 1 1 *At 00:00 UTC, on the 1st of the month, in Jan.
Your week at a glance
Upcoming runs
| # | Local | UTC | From now |
|---|
Copy-ready code
Why use this schedule
Annual rollovers: new-year counters, yearly archives and licence renewals.
- Resetting annual leave balances
- Yearly archive jobs
- Annual compliance reminders
First runs, as an example
Starting from 1 January 2027, evaluated in UTC:
| # | Date and time (UTC) |
|---|---|
| 1 | Fri, 01 Jan 2027, 00:00:00 |
| 2 | Sat, 01 Jan 2028, 00:00:00 |
| 3 | Mon, 01 Jan 2029, 00:00:00 |
| 4 | Tue, 01 Jan 2030, 00:00:00 |
| 5 | Wed, 01 Jan 2031, 00:00:00 |
| 6 | Thu, 01 Jan 2032, 00:00:00 |
Once a year on January 1st in every dialect
| System | Expression |
|---|---|
| Crontab (this page) | 0 0 1 1 * |
| Quartz | 0 0 0 1 1 ? |
| Spring | 0 0 0 1 1 * |
| Kubernetes | 0 0 1 1 * |
| AWS EventBridge | 0 0 1 1 ? * |
| Jenkins | H 0 1 1 * |
| GitHub Actions | 0 0 1 1 * |
| node-cron | 0 0 1 1 * |
| Apache Airflow | 0 0 1 1 * |
| Azure Functions | 0 0 0 1 1 * |
| Google Cloud Scheduler | 0 0 1 1 * |
Need to translate a different expression? Use the cron converter.
Ready-to-use Crontab config
Drop this into your project. The expression is the one above.
0 0 1 1 * /path/to/command >> /var/log/job.log 2>&1The Crontab fields, in order: minute (0-59), hour (0-23), day-of-month (1-31), month (1-12), day-of-week (0-7, 0 and 7 = Sunday).
Things to watch out for in Crontab
- If you set both day-of-month and day-of-week, cron runs when either one matches, not both.
- Fields are minute, hour, day-of-month, month, day-of-week. There is no seconds field, so one minute is the finest resolution.
- Cron runs in the server's local time zone. Check it with the date command, or put CRON_TZ=Asia/Kolkata above the line on cronie-based systems.
The common mistake with this schedule
In Quartz you can add a year field. Without it the schedule repeats every year, which is usually what you want.
Frequently asked questions
How do I run a Crontab job once a year on January 1st?
Use 0 0 1 1 *. At 00:00 UTC, on the 1st of the month, in Jan.
What is the once a year on January 1st cron expression in other systems?
Quartz: 0 0 0 1 1 ?; Spring: 0 0 0 1 1 *; Kubernetes: 0 0 1 1 *. The table on this page lists every dialect.
Which time zone does Crontab use for this schedule?
Cron runs in the server's local time zone. Check it with the date command, or put CRON_TZ=Asia/Kolkata above the line on cronie-based systems.