Skip to content

Update Schedules

Update schedules automate the maintenance of your hosts. You can plan one-time or recurring updates and combine them with scripts, playbooks, and health checks.

Creating a Schedule

  1. Navigate to the desired module
  2. Select the Jobs tab
  3. Click Create Schedule

Configuration

FieldDescription
NameName of the schedule
Action TypeUpdate, Script, or Playbook
Update TypeType of update (module-specific, see below)
TargetWho will be updated (see target types)
Schedule TypeOne-time, daily, weekly, monthly, or Cron
Date/TimeExecution time
ScriptScript from the library (for action type "Script")
PlaybookPlaybook (for action type "Playbook")

Action Types

Each schedule can have one of three action types:

TypeDescription
UpdateExecute a system update with the configured update type
ScriptExecute a script from the library
PlaybookExecute a playbook with all steps

Target Types

Schedules can be applied to different targets:

TargetDescription
All HostsAll hosts of the module are updated
CustomerAll hosts of a specific customer
GroupAll hosts of a specific host group
Single HostA specific host

Update Types

OPNsense

TypeDescription
System UpdateOPNsense firmware update without reboot
Update + RebootUpdate with reboot and optional health check

OPNsense-specific options:

OptionDescriptionDefault
Auto-RebootAutomatic reboot after the updateNo
Health check enabledCheck if firewall is reachable after rebootYes
Health check timeoutWait time for agent heartbeat after reboot600 seconds

Proxmox VE

TypeDescription
System Updateapt update && apt dist-upgrade without reboot
Update + RebootUpdate with reboot
Major UpgradeProxmox VE version upgrade (e.g., 7.x → 8.x)

Proxmox Backup Server

TypeDescription
System Updateapt update && apt dist-upgrade without reboot
Update + RebootUpdate with reboot
Garbage CollectionRun datastore GC
VerifyVerify backup integrity
PrunePrune old backups
SyncSynchronize datastore

For PBS datastore actions, the target datastore can also be specified.

Linux

TypeDescription
System Updateapt upgrade -y / dnf upgrade -y
Update + RebootUpdate with reboot

Windows

TypeDescription
Windows UpdateInstall all available Windows updates
Update + RebootUpdates with reboot

Schedule Types

TypeDescriptionConfiguration
One-timeExecutes once at the scheduled timeDate + Time
DailyEvery day at the same timeTime
WeeklyOn the same day of the week at the same timeDay of week + Time
MonthlyOn the same day of the monthDay (1-31) + Time
CronFree cron expression for complex schedulesCron expression

Cron Expressions

For advanced schedules, a free cron expression is available:

Minute Hour Day Month Weekday
  *      *    *    *      *

Examples:

Cron ExpressionMeaning
0 2 * * *Every day at 02:00
0 3 * * 0Every Sunday at 03:00
0 4 1 * *On the 1st of every month at 04:00
0 22 * * 1-5Monday through Friday at 22:00
0 */6 * * *Every 6 hours

Combining Scripts

Update schedules can be combined with scripts from the script library:

Pre-Update Script

Runs before the update. Typical use cases:

  • Stop services
  • Create a backup
  • Enable maintenance mode

Post-Update Script

Runs after the update (and reboot, if applicable). Typical use cases:

  • Verify services
  • Adjust configuration
  • Send notification

OPNsense Exception

For OPNsense schedules, scripts are available via the playbook mechanism, not as a direct pre-/post-script option.

Managing Schedules

Overview

In the module view under Jobs, you can see all scheduled and completed updates:

  • Name and update type
  • Next scheduled execution
  • Last execution and status
  • Target (host, group, customer, all)
  • Active/Inactive status

Modifying a Schedule

  1. Click on a schedule in the list
  2. Modify the configuration
  3. Save

Deleting a Schedule

Click the trash icon next to a schedule to remove it.

Offline Hosts and Catch-up

When a host is offline at the scheduled time, the job is not lost. DATAZONE Control provides an intelligent catch-up system:

Catching Up Missed Jobs

For recurring schedules, you can configure whether missed jobs should be caught up:

OptionDescription
Catch up missed jobsCheckbox: Should the job be caught up on reconnect? (Default: Yes)
Catch-up windowMaximum time in hours that a missed job remains valid (Default: 24h)

Available catch-up windows:

WindowUse case
6 hoursShort-term maintenance jobs
12 hoursNight jobs that should still run the next morning
24 hours (Default)Daily jobs
48 hoursCover weekend outages
72 hoursHosts that may be offline for up to 3 days
1 weekLong-term offline scenarios

How Does Catch-up Work?

  1. The scheduler creates the task at the scheduled time, even if the host is offline
  2. If the host is offline, the task remains pending in the queue
  3. Older pending tasks for the same schedule are automatically marked as expired (deduplication)
  4. As soon as the agent reconnects, all valid pending tasks are delivered
  5. Tasks older than the catch-up window are discarded

Example

A weekly update job is scheduled for Sunday at 03:00. The host is off from Friday to Monday. On Monday at 08:00 the agent connects:

  • Catch-up window 24h: Task is discarded (older than 24h)
  • Catch-up window 72h: Task is caught up (younger than 72h)
  • Catch-up disabled: Task is discarded

Deduplication

If a host is offline for an extended period and the scheduler creates multiple tasks (e.g., 10 daily updates in 10 days), only the newest task is caught up. All older ones are automatically marked as expired.

Disabling Catch-up

Set the catch-up window to 0 (uncheck the checkbox) to completely disable catch-up. In this case, tasks are only delivered if the host is online at the scheduled time.

Onboarding New Hosts

When a new host registers with DATAZONE Control for the first time, it normally has to wait until the next scheduled time. The onboarding feature can bypass this.

Run Immediately on New Host

Enable the option Run immediately on new host on a recurring schedule. When a new host registers for the first time, the job is automatically created and delivered.

OptionDescription
Run immediately on new hostCheckbox: Job runs on first connect of a new host (Default: No)

How Does Onboarding Work?

  1. A new host registers for the first time (last_seen is empty)
  2. The system finds all active, recurring schedules with onboarding enabled
  3. For each matching schedule (directly assigned, via group, customer, or global), a task is created
  4. The tasks are immediately delivered to the agent

Typical Use Case

You have a weekly update schedule for the group "Production Servers". A new server is added to the group and the agent is installed. With onboarding, it gets its first update immediately, instead of waiting until next Sunday.

Bulk Updates

You can also start updates for multiple hosts at once:

  1. Select multiple hosts using the checkboxes
  2. Click Bulk Update
  3. Choose the update type
  4. Confirm the execution

Note

Bulk updates are started simultaneously on all selected hosts. For critical infrastructure, plan staggered updates via schedules.

DATAZONE Control Documentation