Cron @yearly — Run Once a Year

Cron @yearly (also @annually) is equivalent to 0 0 1 1 * — runs once per year at midnight on January 1st.

@yearly
Minute
·
Hour
·
Day (M)
·
Month
·
Weekday

At 12:00 AM, on day 1 of the month, only in January

Next execution dates

  • Fri, Jan 1, 2027, 12:00:00 AMin 204 days
  • Sat, Jan 1, 2028, 12:00:00 AMin 569 days
  • Mon, Jan 1, 2029, 12:00:00 AMin 935 days
  • Tue, Jan 1, 2030, 12:00:00 AMin 1300 days
  • Wed, Jan 1, 2031, 12:00:00 AMin 1665 days

Visual builder

Pick how often the job should run. The expression updates automatically.

At:

How cron syntax works

A standard cron expression has five fields, separated by spaces.

MinuteHourDay of monthMonthDay of week
0 - 590 - 231 - 311 - 120 - 6 (Sun-Sat)
*
Any value* * * * * — every minute
,
Value list separator0 9,17 * * * — at 9 AM and 5 PM
-
Range of values0 9-17 * * * — every hour 9 AM–5 PM
/
Step values*/15 * * * * — every 15 minutes
?
No specific value (Quartz)0 0 12 ? * MON
L
Last (day of month/week)0 0 L * ? — last day of month

Common cron expressions

Click any example to load and translate it.

When to use this schedule

@yearly (also accepted as @annually) triggers at midnight on January 1st each year. Use for annual compliance report generation, once-a-year license renewal checks, archiving the previous year's data, and annual database statistics refreshes.

Related cron schedules