User

Understanding Cron Jobs

How cron jobs work in Opterius and how they are managed through the panel.

Last updated 1775606400

A cron job is a command that runs automatically on a schedule — every hour, once a day, every 15 minutes, or any interval you define. It is the standard way to run background tasks on Linux servers: sending scheduled emails, generating reports, clearing caches, running framework task schedulers, or pulling a remote file.

How Opterius Runs Cron Jobs

Cron jobs in Opterius run as your account's Linux user. They have access to the same files and permissions as your hosting account — they cannot read or modify other accounts' files.

The Opterius Agent manages cron jobs via its /cron/* endpoints, which read and write the user's crontab on the server. What you configure in the panel maps directly to entries in your system crontab — there is no intermediate layer or wrapper.

Schedule Format

Cron schedules follow the standard five-field format:

┌───────── minute (0–59)
│ ┌─────── hour (0–23)
│ │ ┌───── day of month (1–31)
│ │ │ ┌─── month (1–12)
│ │ │ │ ┌─ day of week (0–7, where 0 and 7 = Sunday)
│ │ │ │ │
* * * * *  command

Common examples:

Schedule Crontab Expression
Every minute * * * * *
Every 5 minutes */5 * * * *
Every 15 minutes */15 * * * *
Every hour (at :00) 0 * * * *
Daily at 2:30 AM 30 2 * * *
Weekly, Sunday at midnight 0 0 * * 0
Monthly, 1st at 6 AM 0 6 1 * *

Schedule Builder

The panel includes a human-readable schedule builder. Choose from presets (every N minutes, hourly, daily at a specific time, weekly, monthly) and the panel generates the correct crontab expression for you.

Advanced users can bypass the builder and type a raw crontab expression directly.

Managing Cron Jobs

Go to Hosting Mode → Cron Jobs to view, create, edit, enable, disable, and delete cron jobs. See Creating Cron Jobs for step-by-step instructions, or Cron Job Examples for ready-to-use commands.

[!NOTE] Cron does not send output anywhere by default — it is silently discarded. If you want to capture output for debugging, redirect it to a log file in your command. See Creating Cron Jobs for how to do this.