Cron Job Generator for cPanel & Laravel

Type an expression like */5 * * * * or pick a preset. You get it in plain English, the next 8 run times, and the full command for cPanel's Cron Jobs page with the right PHP path.

FreeNo sign-upRuns in your browser: your data is not uploaded

The five fields

FieldAllowedExample
minute0-59*/15 = every 15 minutes
hour0-239-17 = 9 am to 5 pm
day of month1-311,15 = the 1st and the 15th
month1-12 or jan-dec*/3 = every third month
day of week0-7 or sun-sat (0 and 7 are Sunday)mon-fri

One rule surprises almost everyone: if you set both day of month and day of week, cron runs when either matches. 0 0 13 * 5 runs on every 13th and on every Friday, not only on Friday the 13th. The next-runs list above shows exactly that, so you can see it before it bites you.

Laravel scheduler on cPanel, step by step

  1. In cPanel open Advanced → Cron Jobs.
  2. Under "Common Settings" choose Once Per Minute (or type * * * * * into the five boxes).
  3. In "Command", paste the Laravel line from this page. It calls artisan schedule:run every minute; Laravel decides which of your scheduled tasks are due.
  4. Add a test task in routes/console.php (Laravel 11+) or app/Console/Kernel.php (Laravel 10 and older), wait two minutes and check storage/logs/laravel.log.

Use the full path to PHP. A plain php in cron often runs a different PHP version than your site (or none at all), which is the most common reason a scheduler "does nothing". If you are not sure, create a cron that runs which php; php -v and set an e-mail address at the top of the Cron Jobs page to receive the output.

Queue workers without SSH or Supervisor

Shared hosting usually does not allow a process that runs forever. The queue line here starts a worker every minute that stops when the queue is empty or after 55 seconds (--stop-when-empty --max-time=55), so two workers never pile up. For a busy queue, move to a VPS and use Supervisor; for a contact form, invoices or e-mails, this is enough.

WordPress: replace the visitor-triggered cron

WordPress runs scheduled posts and plugin jobs only when someone visits the site. On quiet sites jobs are late; on busy sites it adds load. Put define('DISABLE_WP_CRON', true); in wp-config.php and add the WordPress line from this page every 5 or 15 minutes.

FAQ

Why does my cron job not run on cPanel?
Check four things in order: the PHP path (use the full path), the file path (cron does not start in your site folder, so use /home/USERNAME/...), the time zone (the server may not use yours), and output (remove >/dev/null 2>&1 temporarily and add your e-mail at the top of the Cron Jobs page to see errors).
What time zone does cron use?
The server's time zone, which on many hosts is UTC or US time. The next-runs list on this page uses your browser's time zone, so convert if the server differs. Laravel's scheduler uses APP_TIMEZONE / config/app.php for ->dailyAt() and similar.
Can cron run every 30 seconds?
No, one minute is the smallest step in crontab. Laravel 10.15+ supports sub-minute tasks like ->everyThirtySeconds(), still triggered by the one-minute cron.
Is "*/5" the same as "0,5,10,...,55"?
Yes for minutes. For hours, */5 means 0, 5, 10, 15 and 20, so the gap from 20:00 to 00:00 is four hours, not five.
How often may I run cron on shared hosting?
Most hosts allow every minute, some limit it to every 5 or 15 minutes. If yours does, run the Laravel scheduler every 5 minutes and schedule tasks on 5-minute boundaries.

Found it useful? Put a link in your docs, README or forum answer so others can use it too:

HTML
<a href="https://headsntail.com/tools/cron-job-generator">Cron Job Generator for cPanel & Laravel</a> (free, by HeadsNTail)
Markdown (GitHub, Stack Overflow, dev.to)
[Cron Job Generator for cPanel & Laravel](https://headsntail.com/tools/cron-job-generator)

Need it done on your server? HeadsNTail sets up Laravel apps, cPanel hosting and migrations for businesses. See services or ask a question.