Skip to main content

Cron every minute explained

* * * * *

Every minute, every hour, every day.

Next runs · UTC

Calendar

September 2026 · UTC

0 runs

About this tool

The cron expression to run a job every minute is * * * * *. Every field is a wildcard: minute, hour, day-of-month, month, day-of-week. The job fires 1,440 times every 24 hours - once per minute, on every minute of every day.
It's the most common cron expression in the wild - used for polling, monitoring, queue draining, and “just in case the previous job was delayed” redundancy. It's also the most commonly mis-used cron expression: most every-minute jobs would be fine running every 5 minutes.

What * * * * * means

Each field of the cron expression is independent. When all five are wildcards, the job matches every minute of every hour of every day:

  • Minute (*) - every value 0-59.
  • Hour (*) - every value 0-23.
  • Day of month (*) - every value 1-31.
  • Month (*) - every value 1-12.
  • Day of week (*) - every value 0-7.

At every clock minute, the scheduler matches all five fields and fires the job. There's no delay between runs (other than the time to fire), and no startup grace period beyond what the runtime takes.

Every-minute cron on different platforms

Linux crontab

crontab
* * * * * /path/to/script.sh
# or with a lock to prevent overlap:
* * * * * flock -n /tmp/myjob.lock /path/to/script.sh

Vercel cron jobs

json
{
  "crons": [
    { "path": "/api/cron/every-minute", "schedule": "* * * * *" }
  ]
}

Hobby plan limits cron to once-per-day; Pro plan allows once per minute.

AWS EventBridge

crontab
cron(* * * * ? *)
# AWS uses 6 fields - ? in day-of-week, * in year.
# Or use the simpler rate expression:
rate(1 minute)

Kubernetes CronJob

yaml
apiVersion: batch/v1
kind: CronJob
metadata:
  name: every-minute
spec:
  schedule: "* * * * *"
  concurrencyPolicy: Forbid
  jobTemplate:
    spec:
      template:
        spec:
          containers:
            - name: worker
              image: myapp:latest
          restartPolicy: OnFailure

node-cron

js
import cron from 'node-cron';


cron.schedule('* * * * *', () => {
  console.log('Running every minute');
});

Variations on every-minute

  • * * * * * - every minute, every hour, every day.
  • * 9-17 * * 1-5 - every minute during business hours on weekdays. ~480 runs per weekday.
  • * * 1 * * - every minute on the 1st of every month.
  • */2 * * * * - every 2 minutes (less aggressive alternative).
  • */5 * * * * - every 5 minutes (recommended for most polling jobs).

Pitfalls of every-minute cron

  • Long-running jobs - if the work takes more than 60 seconds, runs will overlap. Use a lock file (flock) or a scheduler with concurrencyPolicy: Forbid.
  • Cold starts - serverless platforms (AWS Lambda, Vercel) can spend several seconds spinning up. The effective cadence is “every minute, plus a few seconds”, not exactly every 60 seconds.
  • Cost - 43,200 invocations/month adds up on paid platforms. Always check whether you really need per-minute cadence.
  • Logs - every-minute jobs spam the log stream. Add log levels and rate-limit at the application layer.

Examples

  • 0 18 * * *
    Every day at 18:00
  • 0 */5 * * *
    Every 5 hours
  • 0 18 * * 1-5
    Weekdays at 18:00
  • 0 0 1 * *
    Once a month, on the 1st at midnight

Cheatsheet

Full cheatsheet
FieldReq.RangeWildcards
minuteyes0-59, - * /
houryes0-23, - * /
day of monthyes1-31, - * /
monthyes1-12 or JAN-DEC, - * /
day of weekyes0-6 or names; some dialects use 0-7 or 1-7 — see Dialects, - * /

Frequently asked questions

Syntax

What is the cron expression for every minute?

* * * * *. Every field is a wildcard: every minute of every hour, every day of every month, every day of the week. The job fires once per minute - 1,440 times in a 24-hour day. Expression: * * * * *

Open in editor
Is */1 * * * * the same as * * * * *?

Yes - both fire every minute. */1 is the explicit step form (every 1st minute starting from 0), and the bare * wildcard is the implicit equivalent. Pick whichever reads better in your codebase; most schedulers normalise them internally. Expression: */1 * * * *

Open in editor

Timing

Should I really run a cron every minute?

Only if the work needs one-minute granularity. An every-minute job creates 1,440 runs per day; */5 * * * * cuts that load by 80% when a five-minute delay is acceptable.

Every 5 minutes guide
How many monthly invocations does every-minute cron create?

It creates 43,200 runs in a 30-day month and 44,640 in a 31-day month. Include retries and duplicate deliveries when estimating real usage.

Timezones and DST

How does DST affect every-minute cron?

A local spring-forward day loses the missing hour's 60 minute slots, while fall-back can repeat 60 local slots. UTC avoids that wall-clock ambiguity.

Which timezone does every-minute cron use?

It uses the scheduler's timezone, though the minute cadence usually looks identical outside DST transitions. The timezone still controls date boundaries and repeated local times.

Platforms

Do all platforms support every-minute cron?

Most do, but with caveats. Vercel cron's free Hobby plan caps at once per day; Pro is once per minute. AWS EventBridge is once per minute, charged per million invocations. Kubernetes CronJobs technically allow * * * * * but the controller is best-effort - drift of a few seconds is normal.

Can I run a cron every second?

Not with standard cron or AWS EventBridge, which have one-minute precision. Use a scheduler with a seconds field, such as Quartz, Spring, or node-cron, or use an application timer for sub-minute intervals.

What is every minute in Spring cron?

Use 0 * * * * *. Spring requires a leading seconds field, and zero pins each run to second 0 of every minute. Expression: 0 * * * * *

Open in editor
Can GitHub Actions run every minute?

No. GitHub Actions scheduled workflows have a five-minute minimum, so use */5 * * * * or move the job to a scheduler with one-minute granularity.

Every 5 minutes guide
Can Vercel Hobby run every minute?

No. Vercel Hobby permits only once-daily cron jobs; an every-minute schedule requires a plan that supports that frequency. Vercel evaluates cron in UTC.

Debugging

What happens if my every-minute cron takes longer than a minute to run?

The next invocation may overlap the active run. Vercel does not prevent cron concurrency, so use an application-level lock; Kubernetes can use concurrencyPolicy: Forbid, and Unix crontab can wrap the command with flock -n.

Does cron replay minutes missed while offline?

Traditional cron does not backfill missed minutes. Track a processing watermark or use a durable scheduler if each minute represents required work.

How do I lock an every-minute Unix cron job?

Prefix the command with flock -n and a stable lock-file path. The nonblocking lock skips a tick when the prior process still owns it.

Crontap

Can Crontap run a job every minute?

Yes. You can schedule an HTTP job on Crontap with * * * * *; ensure the endpoint completes quickly or rejects overlapping work safely. Expression: * * * * *

Open in editor

Write the cron here. Run it on Crontap.

Point Crontap at any URL. Pick any cron. Done.

WordPress, Shopify, Railway, Cloud Run, Vercel, HubSpot, Ghost, your own box. If it answers HTTP, Crontap can drive it on a clock you can read, in the timezone that actually matters, and page you when something breaks.

1.9k+ teams · Free forever tier · No credit card