Quickstart

Ten minutes, start to finish. You will schedule one command, prove it works,
and leave a scheduler running.

Before you start, make sure the command you want to schedule already works
when you type it by hand. Scheduling a broken command just gives you a
scheduled failure. If the CLI is not yet configured, do that first:
Getting Started.

1. Take the command you already run

Say this is your weekly Axonius pull:

regscale axonius sync_assets --plan_id 12

Drop the leading regscale and write what is left as a list of separate
arguments
:

command: ["axonius", "sync_assets", "--plan_id", "12"]

Each flag and each value is its own list item. This is the single most common
thing to get wrong — command: "axonius sync_assets" as one string is rejected
at load time, on purpose. There is no shell involved, so quoting, &&, pipes
and $VAR have no meaning here.

2. Write jobs.yaml

Create ~/.regscale/jobs.yaml:

version: 1
jobs:
  - name: axonius-weekly
    description: Weekly Axonius asset ingestion
    command: ["axonius", "sync_assets", "--plan_id", "12"]
    schedule: "0 2 * * 1"          # Mondays at 02:00
    timezone: America/New_York
    timeout_minutes: 480
    notify:
      on_failure: [[email protected]]

name is a slug you will use to run and inspect the job: lower-case letters,
digits and hyphens. schedule is a standard five-field cron expression —
Schedules and cron has a cookbook if 0 2 * * 1 is not
obvious.

No credentials go in this file. Authentication comes from your existing
init.yaml and environment, unchanged.

3. Check it

regscale jobs validate
OK: 1 job(s)

Anything else is a message naming the field that is wrong, and exit code 1.
Fix it and run again — this is worth doing every time you edit the file, and
worth putting in CI if the file lives in a repository.

4. See what the schedule means

regscale jobs list
NAME                             SCHEDULE         TZ                   ENABLED  NEXT RUN              LAST RESULT
axonius-weekly                   0 2 * * 1        America/New_York     True     2026-09-21 06:00:00Z  -

NEXT RUN is shown in UTC — here, 02:00 New York time is 06:00 UTC. Confirm
that lines up with what you meant before going further. LAST RESULT is -
because it has never run.

5. Run it once by hand

Do not wait until Monday to find out whether it works:

regscale jobs run axonius-weekly
axonius-weekly: SUCCESS (exit=0) log=/home/you/.regscale/job_logs/axonius-weekly-3f9a1c2b0d4e.log

jobs run ignores the schedule and the enabled flag entirely — it is the
"test it now" button. The exit code is 0 only when the job succeeded, so this
works in a script.

Everything the command printed is in that log file. Read it:

tail -50 /home/you/.regscale/job_logs/axonius-weekly-3f9a1c2b0d4e.log

If the run failed, this log is where the reason is — the job's own stdout and
stderr, exactly as if you had run the command yourself.

6. Leave a scheduler running

Nothing runs on schedule until something is polling the schedule. In the
foreground, for a first look:

regscale jobs daemon
Job axonius-weekly scheduled (0 2 * * 1, tz=America/New_York); next fire ~2026-09-21 02:00:00 EDT

It reloads jobs.yaml on every pass, runs whatever is due, and sleeps. Stop it
with Ctrl+C — it finishes the job in flight first, rather than killing it.

That command in the foreground of your terminal is fine for a demo and wrong
for production. For a real deployment — container, Kubernetes, systemd, host
cron, Windows — go to Deployment and pick the one that matches
where you run the CLI today.

7. Check on it later

regscale jobs history axonius-weekly
2026-09-21 06:00:03Z  SUCCESS   exit=0     1243.7s    trigger=daemon
2026-09-14 06:00:01Z  FAILED    exit=1     8.2s       trigger=daemon

trigger tells you what started each run: daemon, run-due (an external
scheduler), manual (jobs run), or tui.

What to do next

  • Add the rest of your jobs to the same file — Configuration
    is the full field reference.
  • Get email on failure: Email alerting.
    Your notify.on_failure list above does nothing until an SMTP relay is
    configured.
  • Prefer clicking to editing YAML? Scheduling from the TUI builds the
    same file from any command form.
  • Something did not run when you expected: FAQ.

Did this page help you?