Cron Expression for Every Minute

* * * * *

* * * * * runs at every minute — the highest frequency standard cron supports. There is no seconds field in 5-field cron; for sub-minute work you need a loop inside the job or a different scheduler.

Next runs, in your timezone

 

Overlap is the real problem

A job that occasionally takes 61 seconds will run concurrently with its next invocation. If that is not safe (most jobs writing anywhere are not), take a lock so the second invocation exits immediately.

* * * * * flock -n /tmp/myjob.lock /path/to/job.sh >> /var/log/myjob.log 2>&1

No seconds in cron

Classic cron's resolution is one minute, full stop. A 6-field expression with seconds is Quartz (Java) or spring-cron syntax and is rejected by crontab. The usual shell workaround for every-30-seconds is one cron line and a sleep.

* * * * * /path/to/job.sh
* * * * * sleep 30 && /path/to/job.sh

Scheduler differences

Linux crontab and Kubernetes CronJob run every-minute schedules happily. GitHub Actions rejects anything under 5 minutes. Managed schedulers often bill or throttle per invocation — 1,440 runs a day adds up.

Equivalent expressions

  • */1 * * * *explicit step form — identical to * * * * *

Run a SQL query on this schedule

If the job behind this schedule is a database query, you can skip the server and the crontab: SaturnSQL runs saved SQL queries on a cron expression — this exact syntax, with a real timezone field — and delivers the results to Google Sheets or Slack. Minimum interval 5 minutes.