Knowledge Base · Email & advanced

Run it on schedule

Scheduled commands with minute precision — WordPress cron, sitemap rebuilds, cleanup scripts — with presets for the common cases and full 5-field syntax when you want it.

3 min Intermediate 4 steps Updated July 2026
Knowledge Base/Email & advanced/Cron jobs

Add a job

  1. Open Cron jobs

    Sidebar → Advanced → Cron jobs, or / then “cron”.

  2. Pick when to run

    Choose a preset — every 5/15/30 minutes, hourly, daily 3 AM, weekly, monthly — or pick Custom to unlock the 5-field cron box (e.g. */10 * * * * = every 10 minutes).

  3. Enter the command

    Any shell command, run inside your own container. WordPress example: wp cron event run --due-now --path=/usr/local/lsws/Example/html.

  4. Click Add job

    It appears in the list below with its schedule, status and history.

Cron jobs — presets or full cron syntax, with per-job history and captured output
Cron jobs — presets or full cron syntax, with per-job history and captured output

Reading the job list

  • The schedule chip shows the effective cron expression.
  • enabled / paused badge — pause a job without deleting it (the Pause button toggles).
  • Last run + exit codeok means exit 0; anything else shows the code.
  • Last output — expand it to see the last 4 KB your command printed. This is your debugging window.

Jobs run as an unprivileged user inside your pod with a 5-minute timeout per execution — a hung script can't wedge your schedule.

The classic use: real WordPress cron

WordPress fires its scheduler on visitor page-loads, which is unreliable on quiet sites — posts publish late, backups skip. The fix: add the wp cron event run --due-now command above on the Every 5 minutes preset, then add define('DISABLE_WP_CRON', true); to wp-config.php via the file manager. Scheduled posts now go out on the second.

What's the 5-field syntax?

minute hour day-of-month month day-of-week. 0 3 * * 0 = Sundays at 03:00. */10 * * * * = every 10 minutes. The Custom field validates as you type.

Why did my job “fail” with an exit code?

That's your command's own exit status. Expand Last output — the error message is nearly always right there.

Still stuck?

A human is one ticket away.

Median first response under 30 minutes during business hours — from an engineer, not a script.