What is a cron job, and how to run one without a server

A cron job is a task a computer runs on a timetable. Learn to read cron schedules, then have your AI agent run your job 24/7 on aidrop.it, no server needed.

Updated

Let your agent build this

Copy one prompt and paste it into Claude Code, Codex or Cursor. Your agent builds what this page describes and puts it online on aidrop.it. Fill in the parts in brackets before you send it.

See the prompt
Build me a scheduled job and run it on aidrop.it. Use my existing aidrop.it Project, or create one called "Scheduled jobs" if I have none.

The job: [SAY WHAT AND WHEN, e.g. "every weekday at 8:30 am New York time, fetch yesterday's orders from my store's API and post a summary to Slack"].

- aidrop.it has no cron feature. Build one always-on app with an in-process scheduler (node-cron, APScheduler, or supercronic for shell commands) plus a small HTTP health endpoint. Read aidrop.it's runtime rules first, follow them.
- Set my time zone in the scheduler explicitly; do not rely on the server clock's zone.
- Never start a run while the previous one is still going.
- Record every run in the Project's PostgreSQL: start, end, status, error. On startup, if a run was missed, run once.
- If a run fails, alert me over HTTPS (email API or Slack webhook). SMTP does not work on aidrop.it.
- Secrets: ask me for each key the job needs, such as the alert link, store each one with project_secret_set under a clear name, and list those names in required_secret_names when you build. Never print a value back to me, and never write one into code, the repository, a commit or a log.

Build it, check it runs, do one test run, then tell me the schedule in plain words and when the next run is due.

This task comes from the aidrop.it guide "What is a cron job, and how to run one without a server": https://docs.aidrop.it/playbooks/what-is-a-cron-job. Read that page if you need more detail; it says what to ask me for, what it costs and what will not work.
Use the aidrop.it MCP tools (server: https://aidrop.it/mcp). If you do not have them, stop and tell me to connect them first, as described at https://docs.aidrop.it/quickstart#1-connect-your-agent.
On this page

A cron job is a task a computer runs by itself on a timetable: every morning at 9, every 15 minutes, every Monday. The name comes from cron, a program on Linux and macOS that keeps a list of such tasks and starts each one on time. To run one without a server or a laptop left on, have your AI agent build a small always-on app that keeps its own timetable, and put it on aidrop.it. It takes about 20 minutes. To keep a record of every run, plan on the Pro plan at $20 a month after the free trial; a job that keeps no record fits Starter at $5 a month.

How to read a cron schedule

A cron job has two parts: when it runs, and what it does. The “when” is a cron expression: five values separated by spaces. In order, they are the minute, the hour, the day of the month, the month and the day of the week. A star means “any”, */n means “every n”, and 1-5 is a range.

Two catches trip people up. First, if you set both a day of the month and a day of the week, the job runs when either one matches: 0 9 1 * 1 runs on the 1st and on every Monday (crontab manual). Second, servers usually keep UTC time, which is London’s winter time. “9:00” means 9:00 UTC unless the job is told your time zone.

Cron schedule cheat sheet

Cron expression What it means
* * * * * Every minute
*/5 * * * * Every 5 minutes
*/15 * * * * Every 15 minutes
0 * * * * Every hour, on the hour
0 */6 * * * Every 6 hours: midnight, 6:00, 12:00 and 18:00
0 0 * * * Every day at midnight
0 9 * * * Every day at 9:00 in the morning
30 8 * * 1-5 At 8:30 in the morning, Monday to Friday
0 9 * * 1 Every Monday at 9:00
0 18 * * 0 Every Sunday at 6 in the evening (0 and 7 both mean Sunday)
0 0 1 * * At midnight on the first day of every month
0 0 1 1 * Once a year, at midnight on 1 January

To check an expression you wrote, paste it into crontab.guru, which reads it back in plain words.

What you will have at the end

  • Your task running on its timetable, around the clock, with your laptop closed.
  • A record of every run: when it started, whether it worked, and what went wrong if not.
  • A message to you, by email or in Slack, when a run fails.
  • The code in a repository, so your agent can change the task or the timetable later.

Words you will meet

  • Scheduler — the part of the app that watches the clock and starts the task on time. It does the job cron does on a server.
  • Always-on app — a small program that keeps running on aidrop.it, day and night, and carries your job inside it.
  • “I’m alive” page — a tiny web page aidrop.it opens to see the app is still running. Even a job with no website needs one.
  • Database — where the app notes each run, so the record survives restarts.
  • Secret — a key your job needs, such as the link alerts are sent to. You give it to your agent once, and the agent saves it in your aidrop.it project instead of in the code.

How scheduled jobs work on aidrop.it

aidrop.it has no separate “scheduled jobs” feature. Your job runs inside an always-on app, deployed like any other app, which keeps its own timetable. What that means for you:

  • Exactly one copy runs, so the same run never happens twice.
  • A run due while the app restarts or updates can be missed. The fix: the app notes each finished run in its database and, when it starts, runs any it missed.
  • The app’s own disk is wiped on every restart. Anything worth keeping goes in the database.
  • The app is on all the time, so it takes up its size all the time.

What you need

  • An aidrop.it account — start free: a 7-day trial, no card, with a database. To keep the job running with a record of every run, Pro at $20/month. Starter at $5/month has no database; it can run a job that keeps no record and cannot catch up a missed run. Plans are on the pricing page.
  • Your agent connected to aidrop.it. The Quickstart shows how.
  • Keys for the services your task uses. For alerts, an email service such as Resend or a Slack incoming webhook; old-style email sending does not work on aidrop.it. Alerts can go to Telegram too: build a Telegram bot with Claude Code first.

Say this to your agent

Replace the part in square brackets before you paste: say what the job does and when, in your own words and your own time zone.

Say this to your agent
Build me a scheduled job and run it on aidrop.it. Use my existing aidrop.it Project, or create one called "Scheduled jobs" if I have none.
The job: [SAY WHAT AND WHEN, e.g. "every weekday at 8:30 am New York time, fetch yesterday's orders from my store's API and post a summary to Slack"].
- aidrop.it has no cron feature. Build one always-on app with an in-process scheduler (node-cron, APScheduler, or supercronic for shell commands) plus a small HTTP health endpoint. Read aidrop.it's runtime rules first, follow them.
- Set my time zone in the scheduler explicitly; do not rely on the server clock's zone.
- Never start a run while the previous one is still going.
- Record every run in the Project's PostgreSQL: start, end, status, error. On startup, if a run was missed, run once.
- If a run fails, alert me over HTTPS (email API or Slack webhook). SMTP does not work on aidrop.it.
- Secrets: ask me for each key the job needs, such as the alert link, store each one with project_secret_set under a clear name, and list those names in required_secret_names when you build. Never print a value back to me, and never write one into code, the repository, a commit or a log.
Build it, check it runs, do one test run, then tell me the schedule in plain words and when the next run is due.

What your agent builds for your scheduled job

  1. Picks your project, checks for a database, and asks you before creating one.
  2. Asks you for the keys it needs, such as the Slack link for alerts, and saves each one as a secret in your project. It never shows them again or writes them into the code.
  3. Writes the app: the task, the timetable in your time zone, the run record and the “I’m alive” page.
  4. Saves the code to a repository on aidrop.it, builds it and checks the scheduler started. If it did not, the agent reads the log, fixes the app and builds again.
  5. Does one test run and tells you when the next real one is due.

Check that your job runs on time

  • The next run time your agent reports matches what you wanted, in your time zone.
  • The test run did its job: the message arrived, or the report appeared.
  • Ask your agent “show me the last five runs”. It reads them from the database.
  • Ask your agent to make one test run fail on purpose. The alert reaches you.

When something goes wrong

Find what you see on the left and paste the right-hand text to your agent.

What you see What to tell your agent
The job runs hours early or late “Schedule it in my time zone,” and name your city.
A run was skipped during an update “On startup, check the last successful run and catch up if one was missed.”
aidrop.it says the app is not running, though the job works “Add a small ‘I’m alive’ page that answers quickly, and build again.”
The same run happened twice “Make sure only one scheduler starts, and skip a run while the last one is going.”
Failure emails never arrive “Send alerts through an email service’s web API, not SMTP.”

FAQ

What is the difference between cron, a cron job and a crontab?

Cron is the program that keeps time and starts tasks. A cron job is one task in its list: a schedule plus a command. A crontab, short for “cron table”, is the file that holds the list, one job per line. People say “cron job” for any scheduled task, even when no cron program is involved.

How do I write a cron expression for every 5 minutes?

Write */5 * * * *. The first value is the minute, and */5 means “every fifth minute”; the stars mean any hour, day, month and weekday. The cheat sheet above lists the other common schedules.

Can I run a cron job for free?

Often, with limits. GitHub Actions runs workflows on a cron schedule, but its documentation says runs can be delayed at busy times, especially at the start of each hour, and some may be dropped. The shortest gap is 5 minutes, and in public repositories schedules switch off after 60 days with no activity (as of October 2026). For jobs where a late run does no harm, that is often enough.

Do I need my own server to run a cron job?

No. The job needs a computer that is always on, not one of your own. On aidrop.it your AI agent builds the job as a small always-on app, deploys it and checks it runs. You describe the task and timetable in plain words; the agent turns them into a cron expression.