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
- Navigate to the desired module
- Select the Jobs tab
- Click Create Schedule
Configuration
| Field | Description |
|---|---|
| Name | Name of the schedule |
| Action Type | Update, Script, or Playbook |
| Update Type | Type of update (module-specific, see below) |
| Target | Who will be updated (see target types) |
| Schedule Type | One-time, daily, weekly, monthly, or Cron |
| Date/Time | Execution time |
| Script | Script from the library (for action type "Script") |
| Playbook | Playbook (for action type "Playbook") |
Action Types
Each schedule can have one of three action types:
| Type | Description |
|---|---|
| Update | Execute a system update with the configured update type |
| Script | Execute a script from the library |
| Playbook | Execute a playbook with all steps |
Target Types
Schedules can be applied to different targets:
| Target | Description |
|---|---|
| All Hosts | All hosts of the module are updated |
| Customer | All hosts of a specific customer |
| Group | All hosts of a specific host group |
| Single Host | A specific host |
Update Types
OPNsense
| Type | Description |
|---|---|
| System Update | OPNsense firmware update without reboot |
| Update + Reboot | Update with reboot and optional health check |
OPNsense-specific options:
| Option | Description | Default |
|---|---|---|
| Auto-Reboot | Automatic reboot after the update | No |
| Health check enabled | Check if firewall is reachable after reboot | Yes |
| Health check timeout | Wait time for agent heartbeat after reboot | 600 seconds |
Proxmox VE
| Type | Description |
|---|---|
| System Update | apt update && apt dist-upgrade without reboot |
| Update + Reboot | Update with reboot |
| Major Upgrade | Proxmox VE version upgrade (e.g., 7.x → 8.x) |
Proxmox Backup Server
| Type | Description |
|---|---|
| System Update | apt update && apt dist-upgrade without reboot |
| Update + Reboot | Update with reboot |
| Garbage Collection | Run datastore GC |
| Verify | Verify backup integrity |
| Prune | Prune old backups |
| Sync | Synchronize datastore |
For PBS datastore actions, the target datastore can also be specified.
Linux
| Type | Description |
|---|---|
| System Update | apt upgrade -y / dnf upgrade -y |
| Update + Reboot | Update with reboot |
Windows
| Type | Description |
|---|---|
| Windows Update | Install all available Windows updates |
| Update + Reboot | Updates with reboot |
Schedule Types
| Type | Description | Configuration |
|---|---|---|
| One-time | Executes once at the scheduled time | Date + Time |
| Daily | Every day at the same time | Time |
| Weekly | On the same day of the week at the same time | Day of week + Time |
| Monthly | On the same day of the month | Day (1-31) + Time |
| Cron | Free cron expression for complex schedules | Cron expression |
Cron Expressions
For advanced schedules, a free cron expression is available:
Minute Hour Day Month Weekday
* * * * *Examples:
| Cron Expression | Meaning |
|---|---|
0 2 * * * | Every day at 02:00 |
0 3 * * 0 | Every Sunday at 03:00 |
0 4 1 * * | On the 1st of every month at 04:00 |
0 22 * * 1-5 | Monday 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
- Click on a schedule in the list
- Modify the configuration
- 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:
| Option | Description |
|---|---|
| Catch up missed jobs | Checkbox: Should the job be caught up on reconnect? (Default: Yes) |
| Catch-up window | Maximum time in hours that a missed job remains valid (Default: 24h) |
Available catch-up windows:
| Window | Use case |
|---|---|
| 6 hours | Short-term maintenance jobs |
| 12 hours | Night jobs that should still run the next morning |
| 24 hours (Default) | Daily jobs |
| 48 hours | Cover weekend outages |
| 72 hours | Hosts that may be offline for up to 3 days |
| 1 week | Long-term offline scenarios |
How Does Catch-up Work?
- The scheduler creates the task at the scheduled time, even if the host is offline
- If the host is offline, the task remains pending in the queue
- Older pending tasks for the same schedule are automatically marked as expired (deduplication)
- As soon as the agent reconnects, all valid pending tasks are delivered
- 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.
| Option | Description |
|---|---|
| Run immediately on new host | Checkbox: Job runs on first connect of a new host (Default: No) |
How Does Onboarding Work?
- A new host registers for the first time (
last_seenis empty) - The system finds all active, recurring schedules with onboarding enabled
- For each matching schedule (directly assigned, via group, customer, or global), a task is created
- 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:
- Select multiple hosts using the checkboxes
- Click Bulk Update
- Choose the update type
- Confirm the execution
Note
Bulk updates are started simultaneously on all selected hosts. For critical infrastructure, plan staggered updates via schedules.