Skip to content

Schedules

A schedule is a named, reusable cadence: a cron expression and a timezone bound to a human-readable name. Once created, a schedule can be attached to any recurring operation — backup config, sync apply, or run commands — so the work runs automatically without manual intervention. It also sets the update windows of firmware tracks.

The key idea is that the cadence is defined once and referenced by name everywhere it’s used. If you decide to shift your nightly window from 02:00 to 03:00, you update the schedule in one place and every operation that references it picks up the change.

Open Schedules and click New schedule. Give it a name, a cron expression and a timezone, check the live preview of its next run, and click Create schedule. See Creating a schedule.

FlagRequiredDescription
--nameYesUnique name within the organization
--cronYesStandard 5-field cron expression
--timezoneNoIANA timezone name (e.g., America/New_York, Europe/Berlin, UTC). Defaults to UTC
--disabledNoCreate the schedule in a disabled state. By default it is enabled

The cron expression uses the standard 5-field format: minute hour day-of-month month day-of-week. A few examples:

ExpressionMeaning
0 2 * * *Every day at 02:00
0 4 * * 1Every Monday at 04:00
0 0 1 * *First day of every month at midnight
0 3 * * 0,6Every Saturday and Sunday at 03:00

Open Schedules. Each row shows a schedule’s name, cron expression, timezone, status and next run. Click a row for the schedule’s page, with its timing, the operations attached to it and its recent runs.

Disabling a schedule pauses all recurring tasks that reference it — nothing runs until you re-enable it. A firmware track on a disabled schedule doesn’t run its windows, and its card says Schedule disabled — won't run. This is useful for maintenance periods or when you want to temporarily stop automation without deleting the configuration.

Choose Disable or Enable from the schedule’s … menu on Schedules, or on the schedule’s page.

Choose Delete from the schedule’s … menu on Schedules, or on the schedule’s page, and confirm.

Deleting a schedule removes it and every recurring task registered on it, and asks for confirmation first (--force skips the question, and is required when there’s no terminal). Tasks that were already dispatched are not affected.

A schedule that a firmware track runs on can’t be deleted. Deleting it would leave the track’s devices pinned with nothing to move them, so the delete is refused, and nothing is removed. Detach each track first, then delete the schedule:

Detach the track on the Firmware page, then delete the schedule.

Schedules become useful when attached to operations. In NDWeb you pick the schedule where you set the operation up; with NDCLI you pass --schedule <name>, in place of --at:

On Backups, expand the S3 Backup Configuration card and pick the schedule from its dropdown.

The backup will run according to the schedule’s cron expression. See Backups for the full backup setup.

On Synchronize, set the filter, switch Mode to On schedule, pick the schedule, and click Register.

This creates a recurring sync task. Every time the schedule fires, the filtered set of devices receives a sync. See Sync & Delivery for targeting options.

On Run, set up the command and its target, choose On schedule in the Schedule box, pick the schedule, and click Register.

Any ndcli run subcommand accepts --schedule. The operation runs against the target set defined at creation time — if you add devices to an OU after creating the recurring task, they are not automatically included. See Run Command for targeting details.

A firmware track runs its update windows on a named schedule. Each time the schedule fires, every managed device of the track gets one update step. Tracks may share a schedule.

On the Firmware page, pick the schedule in the track card’s windows field and click Attach.

A track’s window is a recurring task of its own kind, and it belongs to the track. It shows in ndcli schedule tasks list as fast track window, and it can’t be enabled, disabled or removed there. Attach, move or detach it with ndcli firmware track schedule.

CommandDescription
ndcli schedule createCreate a new schedule
ndcli schedule listList all schedules in the organization
ndcli schedule describe <name>Show details for a single schedule
ndcli schedule enable <name>Enable a schedule
ndcli schedule disable <name>Disable a schedule (pauses all attached recurring tasks)
ndcli schedule delete <name>Delete a schedule and the tasks registered on it. Refused while a firmware track runs on it

See also Scheduled Tasks for managing the recurring operations that use a schedule.