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
| Field | Allowed | Example |
|---|---|---|
| minute | 0-59 | */15 = every 15 minutes |
| hour | 0-23 | 9-17 = 9 am to 5 pm |
| day of month | 1-31 | 1,15 = the 1st and the 15th |
| month | 1-12 or jan-dec | */3 = every third month |
| day of week | 0-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
- In cPanel open Advanced → Cron Jobs.
- Under "Common Settings" choose Once Per Minute (or type
* * * * *into the five boxes). - In "Command", paste the Laravel line from this page. It calls
artisan schedule:runevery minute; Laravel decides which of your scheduled tasks are due. - Add a test task in
routes/console.php(Laravel 11+) orapp/Console/Kernel.php(Laravel 10 and older), wait two minutes and checkstorage/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?
/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?
APP_TIMEZONE / config/app.php for ->dailyAt() and similar.Can cron run every 30 seconds?
->everyThirtySeconds(), still triggered by the one-minute cron.Is "*/5" the same as "0,5,10,...,55"?
*/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?
Link to this tool
Found it useful? Put a link in your docs, README or forum answer so others can use it too:
<a href="https://headsntail.com/tools/cron-job-generator">Cron Job Generator for cPanel & Laravel</a> (free, by HeadsNTail)
[Cron Job Generator for cPanel & Laravel](https://headsntail.com/tools/cron-job-generator)
Share: X LinkedIn Reddit WhatsApp
Need it done on your server? HeadsNTail sets up Laravel apps, cPanel hosting and migrations for businesses. See services or ask a question.