Cron for yearly jobs
Quick answer
0 0 1 1 * fires once a year at 00:00 on January 1. Prefer the five-field form over @yearly for portability. TryDevSnip previews the next New Year runs locally.
Cron expression: 0 0 1 1 *
Annual rotations and license checks land here. Confirm host timezone so “New Year” is the calendar you intend.
Paste this cron expression into your crontab, or into the schedule field of whichever runner you use — the five-field syntax below is shared by cron, most CI schedulers, and container orchestrators. The sections that follow break the cron job down field by field and flag the timing edge cases that apply to this particular schedule.
What each field means here
A standard crontab line has five fields, read left to right. This is what each one is set to in0 0 1 1 *:
| Field | Value | Allowed range | Meaning here |
|---|---|---|---|
| Minute | 0 | 0–59 | At minute 0 |
| Hour | 0 | 0–23 | At hour 0 |
| Day of month | 1 | 1–31 | At day of the month 1 |
| Month | 1 | 1–12 | January |
| Day of week | * | 0–6 (Sunday = 0) | Every day of the week |
Before you ship this schedule
- Cron runs in the scheduler’s timezone, not the viewer’s. GitHub Actions always runs schedules in UTC; Kubernetes CronJob accepts a timeZone field on newer API versions; a plain crontab follows the host.
- Some engines (Quartz, and several managed cloud schedulers) prepend a seconds field, making the same schedule a six-field expression. Pasting a five-field string into a six-field slot silently changes when it fires.
Using it outside a crontab
GitHub Actions and Kubernetes CronJob both accept this same five-field syntax, so the expression carries over unchanged — what changes is the clock it runs against:
| Where | Same expression? | Timezone |
|---|---|---|
| crontab | Yes | Host timezone |
| GitHub Actions | Yes | Always UTC |
| Kubernetes CronJob | Yes | UTC unless timeZone is set |
More schedules: every 5 minutes · hourly jobs · midnight daily · weekdays at 9am · every minute · daily at 2am · every 15 minutes · every 30 minutes · every 6 hours · every 12 hours · noon · weekly · monthly · full cheat sheet
Frequently asked questions
What does 0 0 1 1 * mean?
0 0 1 1 * fires once a year at 00:00 on January 1. Prefer the five-field form over @yearly for portability. TryDevSnip previews the next New Year runs locally.
Are next run times in my local timezone?
Cron Helper previews next runs in your browser’s local timezone. Many production schedulers use UTC — always compare before changing live jobs.
Is my cron expression uploaded?
No. Explanation and next-run math run client-side on TryDevSnip. Expressions are not uploaded to our servers for processing.