cron0 0 29 2 *

February 29th (Leap Day)

At 00:00, on day 29 of the month, in February

Runs on February 29th at midnight — only occurs in leap years (every 4 years). This expression will be skipped in non-leap years.

Special Patterns1 every 4 years runs/day

Want to customize this schedule or validate your own cron expression?

Try it live →

Field Breakdown

FieldValueMeaning
minute00
hour00
day2929
month2February
weekday*every day of week
0
minute
0
hour
29
day
2
month
*
weekday

Lint Analysis

Warning

February 29 only occurs in leap years. This job will skip non-leap years.

Info

This time may fall within a DST transition gap for some timezones. Jobs could be skipped or run twice.

Common Use Cases

  • Leap year special processing
  • Quadrennial jobs
  • Test rare schedule behavior

Code Examples

Bash / crontab
# Run your script on schedule: 0 0 29 2 *
0 0 29 2 * /path/to/your/script.sh
Node.js (node-cron)
import cron from 'node-cron';

cron.schedule('0 0 29 2 *', () => {
  console.log('Running scheduled task');
});
Python (APScheduler)
from apscheduler.schedulers.blocking import BlockingScheduler

scheduler = BlockingScheduler()

@scheduler.scheduled_job('cron', minute='0', hour='0', day='29', month='2')
def my_job():
    print('Running scheduled task')

scheduler.start()

GitHub Actions Workflow

Generate a ready-to-use .github/workflows/schedule.yml file. Customize the name and download directly.

GitHub Actions
# .github/workflows/schedule.yml
name: February 29th (Leap Day)

on:
  schedule:
    - cron: '0 0 29 2 *'
  workflow_dispatch: # allow manual trigger

jobs:
  run:
    runs-on: ubuntu-latest
    steps:
      - name: Checkout code
        uses: actions/checkout@v4

      - name: Run scheduled task
        run: |
          echo "Running on schedule: 0 0 29 2 *"
          # Add your commands here

Save as .github/workflows/schedule.yml in your repository root

Cron Syntax Quick Reference

FieldAllowed ValuesSpecial Chars
minute0–59* , - /
hour0–23* , - /
day of month1–31* , - /
month1–12 or JAN–DEC* , - /
day of week0–7 or SUN–SAT* , - /

Special characters: *= any value  ,= list  -= range  / = step

Related Patterns — Special Patterns

Need to build your own cron expression from scratch?

Open the Cron Expression Builder →