Cron Every Year (January 1st)
Cron expression 0 0 1 1 * means At 12:00 AM, on the 1st, in January.
Cron expression to run a job once a year on January 1st at midnight: 0 0 1 1 *. Used for annual tasks that run just once per year.
Cron Expression
Common use cases
- Annual report generation
- Yearly data archiving or purging
- Resetting annual quotas or limits
Want to customize this schedule?
Open it in the visual builder to tweak the expression interactively.
Open in BuilderNeed to monitor this cron job?
Cronhub tracks your scheduled jobs and alerts you if they fail or run late.
Platform usage examples
# Edit your crontab
crontab -e
# Add this line to run every year (january 1st)
0 0 1 1 * /usr/bin/php /var/www/html/script.php
# Or run a shell script
0 0 1 1 * /home/user/scripts/job.sh >> /var/log/job.log 2>&1# .github/workflows/scheduled.yml
name: Scheduled Job
on:
schedule:
- cron: '0 0 1 1 *'
jobs:
run:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- name: Run job
run: echo "Running every year (january 1st)"apiVersion: batch/v1
kind: CronJob
metadata:
name: my-scheduled-job
spec:
schedule: "0 0 1 1 *"
jobTemplate:
spec:
template:
spec:
containers:
- name: job
image: my-image:latest
restartPolicy: OnFailureRelated developer tools
More free tools for engineering workflows that pair with scheduled jobs:
Frequently asked questions
What is the cron expression for every year (january 1st)?
The cron expression is 0 0 1 1 *. Cron expression to run a job once a year on January 1st at midnight: 0 0 1 1 *. Used for annual tasks that run just once per year.
How do I schedule a cron job to run every year (january 1st) in Linux?
Open your crontab with "crontab -e" and add a new line: 0 0 1 1 * /path/to/your/script.sh — this schedules your script to run every year (january 1st). Save and exit; the cron daemon picks up the change immediately.
What does the cron expression "0 0 1 1 *" mean?
Cron expression to run a job once a year on January 1st at midnight: 0 0 1 1 *. Used for annual tasks that run just once per year.
Can I use "0 0 1 1 *" in GitHub Actions?
Yes. In your workflow YAML, set the schedule trigger: on: schedule: - cron: '0 0 1 1 *'. GitHub Actions uses standard 5-field Unix cron syntax, so this expression works as-is.