NV ToolkitFormat · Validate · Convert

Cron example

Cron Every 10 Seconds

*/10 * * * * *

Every 10 seconds, every minute, every hour, every day

Open in the cron expression generator

This is a six-field expression: a seconds column has been prepended to the familiar five. It means every tenth second of every minute — six runs a minute, 360 an hour. Standard Unix crontab cannot parse it at all, so the first question to settle is which scheduler will actually read the line.

By NaveenKumar T · Updated · 6-field expression (seconds first)

What each field means

Second, minute, hour, day of month, month, day of week — read left to right.
FieldValueMeaning
Second*/10Every 10 seconds, starting at second 0
Minute*Every minute
Hour*Every hour
Day of month*Every day
Month*Every month
Day of week*Every day of the week

Next 5 run times

Computing the next runs in your timezone…

Who supports a seconds field

The seconds column is an extension, not part of the POSIX crontab format. Quartz, Spring's scheduled annotations, node-cron, croner and most cloud schedulers accept six fields with seconds first. Vixie cron, cronie and busybox crond — the daemons on a typical Linux box — accept exactly five fields and will reject the line or misread the sixth token.

There is a second, nastier ambiguity: some six-field dialects put the year last rather than seconds first, so the same expression can mean two entirely different schedules depending on the parser. Always confirm against your runtime's own documentation, and paste the expression into the cron expression generator to see what a seconds-first parser makes of it.

Doing it without a seconds field

In classic crontab the usual workaround is a sleep ladder: install six entries for the same minute, each delaying a different amount — sleep 10, sleep 20, and so on up to sleep 50, with a sixth entry running immediately. It works, but it is six log lines, six process spawns and six chances to drift while a slow run is still going.

The cleaner answer is to stop scheduling and start supervising. A tiny loop that does the work, sleeps ten seconds, and repeats — run under systemd, supervisord or a container restart policy — gives you one process, one log stream, real backpressure when a cycle overruns, and a clean shutdown path. Cron is a wall-clock scheduler; ten-second work belongs to a service.

If you keep the six-field version

Assume the job must finish in well under ten seconds, because a scheduler that fires that often will happily start the next run on top of a slow one. Add a lock, or configure the framework's own concurrency policy: Quartz has DisallowConcurrentExecution, Kubernetes CronJobs have a Forbid concurrency policy, and croner takes a protect option.

Watch the cost of the surrounding work too. Six runs a minute means over 500,000 executions a month. If each one opens a database connection or calls a metered API, the schedule is far more expensive than the code inside it. Coarser options such as every minute are usually enough once you measure how stale the data is really allowed to be.

Build a variant of this schedule with dropdowns and check the next ten runs before you install it.

Open the cron generator

Related cron examples

Browse every schedule on the cron expression generator, read the cron expression syntax guide for the rules behind the five fields, or the developer tools guides for the longer explanations.