Cron Jobs Explained: A Simple Guide + Crontab Generator
Almost every server on the internet leans on a cron job somewhere, quietly doing its work. It fires a command on the schedule you hand it, then repeats, punctually, with nobody keeping watch. The 2am backup, the report that emails itself every Monday, the temp files swept out each night, behind most of that sits a cron job. What throws people is the notation: five terse fields that look like a mistake the first time they land in front of you. In this guide we cover what a cron job actually is, walk through the crontab format one field at a time, hand you the schedules you will genuinely reach for, and drop in a live crontab generator so you can assemble and decode an expression without any guesswork.
The short version
A cron job runs a command on its own, on a schedule. That schedule is five fields: minute, hour, day of month, month, and day of week. An asterisk reads as "every," while */n reads as "every n." So 0 9 * * 1-5 runs at 9am on weekdays. Build one with the generator below and watch it spelled out in plain English.
What is a cron job?
Cron is a scheduler that Unix-like systems have carried for decades. It sits in the background and, every minute, scans a list of jobs to see whether any have come due. A job is just one line tying a time schedule to a command. That list goes by the name crontab, a contraction of cron table. You open it for editing with crontab -e and read it back with crontab -l.
Its charm is that it is brutally simple and already present. Nothing extra to install, no daemon to set up, no cloud account to open. Own a Linux server and you already own cron. That is why it quietly runs so much upkeep: rotating logs, fetching data feeds, mailing out a nightly summary, retrying a sync that failed. Any task that should happen by the clock, rather than in reaction to a person, slots right in.
The five fields of a crontab, explained
Each crontab line opens with five time fields, split by spaces, and then the command to run. Scanning left to right, they widen out: minute first, then hour, then day, then month, then weekday. Here is what every field will take.
| Position | Field | Allowed values | Example |
|---|---|---|---|
| 1 | Minute | 0 to 59 | 30 = at minute 30 |
| 2 | Hour | 0 to 23 | 14 = 2pm |
| 3 | Day of month | 1 to 31 | 1 = the 1st |
| 4 | Month | 1 to 12 | 6 = June |
| 5 | Day of week | 0 to 6 (0 is Sunday) | 1 = Monday |
Four symbols carry most of the load inside those fields. The asterisk * stands for every value. A comma 1,15 picks out specific ones. A dash 1-5 marks a range. A slash */10 sets a step, here every tenth value. Mix them together and you can pin down nearly any schedule, though it turns unreadable in a hurry. That is exactly the job the generator below does for you.
Crontab generator: build and read a schedule
Type into any field, or begin from a preset, and watch the cron expression and its plain-English reading update as you go. An asterisk means "every," and a step like */5 handles intervals.
Your cron expression
0 9 * * *
Runs at 9:00 AM, every day.
Great for server jobs. When the timing is customer facing, like chasing a lead a day later, Intellure runs the schedule for you, no crontab needed.
Common cron schedules you will actually use
You seldom need anything unusual. The handful of patterns here cover the overwhelming majority of real-world jobs. Grab whichever sits closest to your case and tweak the numbers.
*/5 * * * *
Every 5 minutes
Handy for frequent polling or health checks. Trade the 5 for any interval that splits 60 cleanly.
0 * * * *
Every hour
Fires at the top of every hour. A staple for warming caches, syncing data, or hourly rollups.
0 2 * * *
Daily at 2 AM
The traditional backup and maintenance slot, chosen because traffic bottoms out then. Swap the 2 for whatever hour suits you.
0 9 * * 1-5
Weekdays at 9 AM
For business-hours work such as a morning report. That 1-5 range spans Monday to Friday.
0 0 1 * *
Monthly on the 1st
Midnight on the first day of each month. Well suited to billing runs and monthly cleanups.
30 8 * * 0
Weekly on Sunday
8:30am each Sunday. Since a weekday of 0 (or 7) means Sunday, it makes a neat weekly digest.
Where cron fits, and where it does not
Cron shines when time is the trigger: run this at that hour, on those days. It falls short when an event is the trigger, because all it can consult is the clock, never the world outside. A cron job has no way of knowing a new lead just wrote to you or that a customer answered a quote. Its best move is to wake every few minutes and check, which is both wasteful and slow.
That difference bites hardest with anything customer facing. Circling back to a prospect exactly a day after they went silent, sending an appointment reminder the night before, reviving a conversation that stalled: these are time-and-event problems, and lashing them together with cron turns brittle fast. That is the gap a managed AI employee like Intellure closes. Rather than writing crontab lines and babysitting them, you state the outcome, and it manages both the timing and the reply, across WhatsApp, Instagram, and your website, at any hour.
A quick rule of thumb: when a task runs on a fixed clock and only ever touches your own systems, cron is the right pick. When it has to respond to a person and carry a natural conversation, reach for something built for that. Intellure owns that second category, so your team is not hand-chasing the follow-ups a cron job can put on the calendar but never actually hold.
Common cron mistakes to avoid
Most cron trouble has nothing to do with the schedule. First up is the environment: cron runs with a bare-bones set of variables, so a command that runs fine in your shell can break because PATH looks different. Spell out full paths like /usr/bin/python3 and point scripts at their absolute location.
Second is silence. Out of the box a cron job's output goes nowhere, so when it fails you hear nothing. Route the output to a log with >> /path/to/log 2>&1 and you can see what went wrong. Third is the timezone: cron follows the server's clock, which may not match your local time, so a job you set for 9am could fire at what feels like the dead of night. Confirm the server timezone before you trust any hour value.
Frequently asked questions
What is a cron job in simple terms?+
What does the crontab syntax mean?+
How do I run a cron job every 15 minutes?+
Why did my cron job not run?+
What is the difference between cron and a background task queue?+
Can non-technical people set up scheduled automations?+
The bottom line
Cron is a small tool that nails one job: running a command on a schedule. Once the five fields read clearly, the mystery lifts, and the generator above renders any schedule into plain English in seconds. Save cron for the clockwork on your own servers. For timing that hinges on a customer waiting to hear back, an AI employee like Intellure runs the schedule and the conversation as one, so no follow-up ends up parked in a crontab that never quite gets written.