A modern, reliable task scheduler for ZimaOS with a completely redesigned web interface. Replaces the previous cron implementation with improved task persistence, advanced scheduling options, and comprehensive notification support.
- Brand-new Scheduler UI – Clean, dark-themed dashboard for managing all scheduled tasks
- Persistent Tasks – Tasks survive system restarts and continue running reliably
- Built-in Templates – Quick-start templates for common tasks:
- AppData Backup (Archive /DATA/AppData)
- Cleanup Temp Files (Remove files older than 7 days)
- System Health Check (Disk space, memory, load average)
- Docker Cleanup (Remove unused images, containers, volumes)
- System Update Check
- SSL Certificate Expiry Check
- Docker Container Status
- Flexible Scheduling – Interval-based (minutes) or cron expressions
- Task Dependencies – Define execution order with "Depends On"
- Priority System – Set task priority (1-10)
- Categorization & Tags – Organize tasks with categories and comma-separated tags
- Real-time Status – Monitor running/paused tasks with live status indicators
- Execution Logs – View logs per task with export options (CSV, JSON)
- Multi-Channel Notifications:
- 📱 Telegram – Global bot notifications for all tasks
- 🌐 Webhook – HTTP POST to any endpoint
- 📧 Email (SMTP) – Per-task email alerts
- Advanced Options:
- Timeout (seconds)
- Retry Count & Retry Delay
- Environment Variables
- Max Log Entries
- Parallel Execution Control
The Cron module comes pre-installed with ZimaOS 1.6.0 and later.
zpkg install cronOr download from Releases and install manually:
zpkg install cron.rawAccess the Scheduler from your ZimaOS dashboard sidebar.
- Click "New Task" in the top right corner
- Select a template or start with "Blank Task"
- Configure:
- Name – Descriptive task name
- Schedule Type – Interval (minutes) or Cron expression
- Category – e.g.,
backup,maintenance,monitoring - Tags – e.g.,
critical, daily - Priority – 1 (highest) to 10 (lowest)
- Expand Advanced Options for:
- Timeout, Retry settings
- Task dependencies
- Webhook/Email notifications
- Click "Create"
| Template | Description |
|---|---|
| AppData Backup | Archive /DATA/AppData to /DATA/backups/ |
| Cleanup Temp Files | Remove files older than 7 days from /tmp |
| System Health Check | Check disk space, memory, and load average |
| Docker Cleanup | Remove unused Docker images, containers, and volumes |
| System Update Check | Check for available system updates |
| SSL Certificate Expiry Check | Check SSL certificate expiry for a domain |
| Docker Container Status | List all containers with status and resource usage |
Use the dropdown filters at the top:
- All Categories – Filter by category
- All Tags – Filter by assigned tags
Each task row provides quick actions:
- Run Once – Execute immediately
- Pause / Resume – Toggle task scheduling
- Show Logs / Hide Logs – Expand inline log viewer
- Delete Task – Remove the task
Click "Show Logs" to expand the log section for any task. Options:
- Search logs – Filter log entries
- Export CSV – Download logs as CSV
- Export JSON – Download logs as JSON
- Clear Logs – Remove all log entries for this task
Configure global Telegram notifications in Settings (gear icon). These apply to all tasks.
- Create a Telegram bot via @BotFather
- Copy your Bot Token (e.g.,
123456:ABC-DEF...) - Get your Chat ID (e.g.,
-1001234567890for groups) - Select when to notify:
- ☐ On Success
- ☑ On Failure
- Click "Test" to verify, then "Save"
Configure a webhook URL in the task's Advanced Options to receive POST requests:
https://example.com/webhook
Select when to trigger:
- ☐ On Success
- ☑ On Failure
Configure SMTP settings in the task's Advanced Options:
- Recipient – e.g.,
admin@example.com - SMTP Server – e.g.,
smtp.gmail.com - Port – e.g.,
587 - Username – SMTP username
- Password – SMTP password or app password
Task configurations and logs are stored in:
/DATA/AppData/cron/
Tasks are persisted to disk and automatically restored after system restart. This fixes the known issue where tasks did not continue after a reboot in previous versions.
Tasks with dependencies will only execute after all dependent tasks have completed successfully.
- Tasks not continuing after restart – Tasks now persist across reboots
- UI not loading in 1.6.0beta1 – Completely rewritten frontend
- Missing task logs – Logs are now reliably stored and exportable
Contributions are welcome! Please feel free to submit a Pull Request.
- Repository: github.com/chicohaager/cron
- Issues: Report a bug
This project is licensed under the Apache License 2.0 - see the LICENSE file for details.
- IceWhale Technology – ZimaOS Team
- @Lintuxer – Original author
- Community contributors and testers
Made with ❤️ for the ZimaOS Community
