Launch Workspace
Standard Cron · 5 fields · POSIX / Linux / Unix

Cron Every Minute — * * * * *

The most frequent recurring schedule in standard Cron. Triggers once every minute at second :00.

Quick Answer

To run a cron job every minute, use * * * * *. In standard 5-field cron syntax, an asterisk in every position means: every minute, every hour, every day of the month, every month, and every day of the week.

Dialect:
5 fields
Plain EnglishHigh Frequency (Minute)

“Every minute”

Runs every minute. Evaluated according to STANDARD cron specifications.

Popular Presets:

What Does * * * * * Mean?

In standard 5-field UNIX / Linux Cron syntax, fields are evaluated from left to right. Here is the precise field breakdown for * * * * *:

FieldPositionValueAllowed RangeMeaning
Minute1st*0–59Every minute (0, 1, 2, ... 59)
Hour2nd*0–23Every hour of the day
Day of Month3rd*1–31Every calendar day
Month4th*1–12Every month (Jan–Dec)
Day of Week5th*0–7Every day of the week (Sun–Sat)

Need to verify non-standard schedules? Use our free Cron Validator or read the comprehensive Cron Syntax Guide.

Linux Crontab Example & Best Practices

To add an every-minute job to your personal user crontab in Linux or macOS:

# 1. Open the crontab editor

crontab -e

# 2. Add the every-minute schedule with full paths and output redirection

* * * * * /usr/bin/php /var/www/html/artisan schedule:run >> /var/log/cron.log 2>&1

Preventing Overlapping Minute Jobs (Concurrency Control)

If your task takes longer than 60 seconds to complete, the next invocation will start while the first is still executing. On Linux, use flock to ensure single-instance execution:

* * * * * /usr/bin/flock -n /tmp/job.lock /usr/local/bin/sync-worker.sh >> /var/log/sync.log 2>&1

Every Minute Across Different Cron Dialects

Different programming frameworks and cloud platforms handle minute-level scheduling differently:

  • Linux / POSIX Crontab (5 Fields): * * * * * — Runs every minute at :00 seconds. Explore our Linux Cron Generator.
  • Spring Boot (6 Fields): 0 * * * * * — Spring uses seconds as the first field. Using * * * * * * would execute every single second! Build Spring expressions with the Spring Cron Generator.
  • Quartz Scheduler (6–7 Fields): 0 * * * * ? — Requires ? in either day-of-month or day-of-week. See the Quartz Cron Generator.
  • Kubernetes CronJob: * * * * * — Standard 5-field syntax. Generate YAML manifests with the Kubernetes CronJob Generator.

Every Minute vs. Common Periodic Intervals

Depending on your server load and queue volume, a slightly less aggressive cadence may be more appropriate:

Platform Examples for * * * * *

Ready-to-use snippets for all major platforms and schedulers.

Linux / Crontab5-field POSIX cron
# /etc/cron.d/my-schedule
MAILTO="admin@example.com"
SHELL=/bin/bash
PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin

# Runs every minute
* * * * * www-data /usr/local/bin/my-script.sh >> /var/log/my-script.log 2>&1
Kubernetesbatch/v1 CronJob manifest
apiVersion: batch/v1
kind: CronJob
metadata:
  name: my-scheduled-job
  labels:
    app: my-scheduled-job
spec:
  schedule: "* * * * *"
  timeZone: "UTC"          # requires Kubernetes v1.27+
  concurrencyPolicy: Forbid
  successfulJobsHistoryLimit: 3
  failedJobsHistoryLimit: 1
  jobTemplate:
    spec:
      template:
        spec:
          containers:
          - name: job
            image: alpine:latest
            command:
            - /bin/sh
            - -c
            - echo "Job executed at $(date)"
          restartPolicy: OnFailure
GitHub Actionsworkflow schedule trigger (UTC only)
name: Scheduled Workflow

on:
  schedule:
    # Runs every minute — evaluated strictly in UTC
    - cron: "* * * * *"
  workflow_dispatch: # allow manual trigger

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

      - name: Run task
        run: echo "Workflow triggered at $(date)"
Spring Boot@Scheduled — 6-field cron with seconds
@Component
public class ScheduledTask {

    private static final Logger log = LoggerFactory.getLogger(ScheduledTask.class);

    // Runs every minute
    // Spring uses 6-field cron: sec min hr dom mon dow
    @Scheduled(cron = "0 * * * * *", zone = "UTC")
    public void runTask() {
        log.info("Scheduled job started at: {}", LocalDateTime.now());
        // your business logic here
    }
}

Common Variations

Related expressions for similar scheduling needs.

ExpressionDescription
* * * * *Every minute (standard wildcard syntax)
*/1 * * * *Every minute (explicit step syntax — identical result)
0-59 * * * *Every minute (full range — identical result)
*/2 * * * *Every 2 minutes (at :00, :02, :04, ...)
*/5 * * * *Every 5 minutes (at :00, :05, :10, ...)
*/10 * * * *Every 10 minutes (at :00, :10, :20, ...)
*/15 * * * *Every 15 minutes (quarter-hourly)
* 9-17 * * 1-5Every minute during business hours (9:00 AM – 5:59 PM Mon–Fri)

Frequently Asked Questions

Everything you need to know about Cron expressions, syntax rules, and platform nuances.

What is the cron expression to run every minute?

The standard cron expression for every minute is "* * * * *". Each of the 5 fields contains an asterisk (*), commanding the scheduler to execute the command at minute 0 through 59 of every hour, every day, and every month.

How do I add a cron job to run every minute in Linux crontab?

Run "crontab -e" in your terminal and add: "* * * * * /path/to/command >> /var/log/cron.log 2>&1". This tells the system crond daemon to execute the command at the beginning of each minute.

Is "* * * * *" the same as "*/1 * * * *"?

Yes. "*/1 * * * *" uses step syntax starting at 0 with a step of 1, evaluating to minutes 0, 1, 2, ... 59. It is mathematically and functionally identical to "* * * * *".

How do I prevent overlapping executions if a minute job runs slow?

Wrap your crontab command with flock (file locking): "* * * * * /usr/bin/flock -n /tmp/myjob.lock /path/to/script.sh". If a previous run is still active when the next minute starts, flock cleanly skips the new run rather than spawning duplicate processes.

How do I run a task every minute in Spring Boot?

Spring Boot uses 6-field cron syntax with seconds: @Scheduled(cron = "0 * * * * *", zone = "UTC"). The initial "0" specifies second 0, while the remaining fields match every minute.

Does Kubernetes support every-minute CronJobs?

Yes. In your batch/v1 CronJob manifest, set "spec.schedule: '* * * * *'". We recommend adding "concurrencyPolicy: Forbid" to prevent pod pile-up if an execution exceeds 60 seconds.

Can I schedule jobs more frequently than every minute in crontab?

Standard POSIX crontab does not support sub-minute intervals (seconds). For sub-minute tasks, use systemd timers (with AccuracySec=1s), worker queues with persistent loops, or frameworks like Spring Boot that support 6-field second-level cron.