At a glance
See it on a calendar
UTC · no schedule to chartNext runs
Use it in
# /etc/crontab @annually user /usr/local/bin/your-script.sh
Field by field
Variations
What does @annually mean?
The cron expression @annually runs at 12:00 am, on day 1 of the month, only in january. Cron expressions have five fields — minute, hour, day of month, month, and day of week — separated by spaces. Each field controls one piece of the schedule.
When you’d use this
This schedule is a common fit for jobs that need to run on this schedule. Paste it into your crontab, a node-cron call, a Kubernetes CronJob manifest, or a GitHub Actions workflow — the snippets above are ready to copy.
Gotchas
Cron runs in the system’s timezone unless you set TZ or schedule in UTC. Missed runs are not retroactively executed by standard cron — use anacron or systemd timers with Persistent=true if you need catch-up. Day-of-month and day-of-week combine with OR semantics in most cron implementations, which can be surprising.