Cron expression explainer

Type a crontab line to see what each field means and when the job will run the next 10 times, in your local time.

Cron expression

Format: minute hour day-of-month month day-of-week. Supports *, lists (1,15), ranges (1-5), steps (*/10) and names (jan, mon).
FieldValueMeaning

Next run times


    What is cron?

    cron is the Linux and Unix job scheduler: it runs commands automatically at the specified dates and times. Each user has a crontab (edited with crontab -e) in which every line holds a five-field expression followed by the command, for example 0 3 * * * /home/user/backup.sh to make a backup every day at 3:00.

    The same syntax is used by many other tools: Plesk and cPanel scheduled tasks, GitHub Actions, Kubernetes CronJobs and the Laravel and Symfony schedulers.

    Field syntax

    The fields are, in order: minute (0-59), hour (0-23), day of month (1-31), month (1-12 or jan-dec) and day of week (0-7 or sun-sat; 0 and 7 are Sunday). A * means "any", 1,15 is a list, 1-5 a range and */10 "every 10". For example, 30 8 * * 1-5 means "at 8:30, Monday to Friday".

    Watch out: if both the day of month and the day of week are restricted, cron runs the job when either of them matches, not both.

    @ shortcuts

    @hourly (every hour), @daily or @midnight (every day at 0:00), @weekly (Sundays at 0:00), @monthly (the 1st of every month), @yearly or @annually (1 January) and @reboot (at system start-up).