Run a Cron Job Every Minute

Executes the job every minute of every hour, every day.

crontab -e
*****
$* * * * *

Field Breakdown

*

Minute

0–59

*

Hour

0–23

*

Day of Month

1–31

*

Month

1–12

*

Day of Week

0–6

How It Works

The simplest cron expression uses an asterisk in every field. Each * is a wildcard that matches all valid values, so the job fires at the start of every minute—60 times per hour, 1,440 times per day. This is often used for health checks, queue workers, or real-time monitoring scripts where sub-minute precision is not needed. Because it runs so frequently, ensure your task completes well within 60 seconds to prevent overlapping executions.

The cron daemon checks the schedule table once per minute. With all five fields set to *, every check results in a match. The minute field matches 0–59, the hour field matches 0–23, day-of-month matches 1–31, month matches 1–12, and day-of-week matches 0–6. Since every value satisfies the wildcard condition, the associated command executes at the top of every single minute, 24 hours a day, 365 days a year.

Platform Usage

On Linux, add this to your crontab with "crontab -e" followed by "* * * * * /path/to/script.sh". In Kubernetes, create a CronJob resource with schedule: "* * * * *". For GitHub Actions, use "on: schedule: - cron: '* * * * *'" in your workflow YAML. In Docker, you can use supercronic with a crontab file containing this expression.

Common Use Cases

1

Health-check pings to uptime monitors

2

Processing a message queue or job queue

3

Collecting real-time metrics

4

Watching a directory for new files

try-it

$ crongen --customize "* * * * *"

Want to tweak this schedule or see the next run times?

Open in Generator

Related Examples