DevOps & monitoring

RunWisp offers a self-hosted alternative to cron with full execution history

RunWisp is a new open-source tool that replaces traditional cron jobs with a supervised, auditable daemon for Linux and macOS.

A server rack with a ledger book on top representing logged cron jobs
Illustration created for this article

A new self-hosted utility called RunWisp has emerged as a modern replacement for traditional task scheduling on single servers. Released in late 2026, this tool combines the functionality of cron, process supervisors, and job runners into a single binary. It targets developers and system administrators who need reliable, auditable background tasks without the complexity of distributed workflow engines.

What happened

RunWisp introduces a unified approach to running periodic tasks and long-running services on individual machines. Unlike standard cron, which silently fails if a script errors out or hangs, RunWisp acts as a supervisor. It records every execution, tracks exit codes, and manages the lifecycle of each task. The project is built in Go, resulting in a lightweight binary that consumes approximately 35 MB of RAM when idle. It supports Linux, macOS, Windows Subsystem for Linux (WSL), and Docker environments on both x86_64 and arm64 architectures.

The tool distinguishes itself by keeping configuration simple and portable. All settings reside in a single runwisp.toml file, which users can version control alongside their application code. The dashboard and terminal user interface (TUI) are included in the same binary, requiring no separate web server or database installation. It uses SQLite for local state management, ensuring that data persists even if the daemon crashes or the server loses power. When the service restarts, it marks any interrupted tasks as crashed rather than leaving them in a stuck state.

Migration from existing setups is designed to be gradual. RunWisp does not modify system-level crontabs or interfere with other schedulers. It includes an import feature that reads existing crontab entries and generates a annotated configuration file. This allows operators to move one job at a time, marking specific tasks for manual review before fully committing to the new system. The project emphasizes ease of uninstallation, ensuring that removing the tool returns the system to its previous state without leftover artifacts.

Key details

  • License and cost: The daemon is released under the GPL-3.0 license and is free to self-host, with no paid tiers or feature locks.
  • Resource usage: The binary is approximately 35 MB in size and uses minimal memory, making it suitable for small virtual machines or containers.
  • Timezone handling: Cron expressions evaluate in configured timezones, with explicit logic for Daylight Saving Time transitions to prevent skipped or duplicate runs.
  • Security model: The daemon does not require root privileges; it can run as a standard user, dropping privileges per task if necessary.
  • Resilience: State survives crashes and power loss, with automatic recovery of the scheduler upon restart via systemd or launchd wrappers.
  • Scope: It is designed for independent tasks on a single machine, not for complex multi-step pipelines or distributed workflows.

Background

Traditional cron jobs are ubiquitous but fragile. They operate on a fire-and-forget basis, meaning if a script fails, hangs, or produces unexpected output, the system administrator often remains unaware until a downstream issue arises. Process supervisors like systemd timers or supervisord offer better reliability but lack the intuitive scheduling syntax of cron. Conversely, modern workflow engines like Airflow or Dagu provide robust dependency management but introduce significant operational overhead for simple, single-server tasks.

RunWisp attempts to bridge this gap by acting as a "layer below" complex orchestration tools. It provides the scheduling familiarity of cron with the observability of a supervisor. By recording every run and managing process states, it gives operators visibility into what happened, when it happened, and why it might have failed. This model is particularly relevant for small to mid-sized companies that manage their own infrastructure and need reliability without maintaining a dedicated Kubernetes cluster or message queue infrastructure.

Why it matters

For teams running self-hosted software, silent failures in background jobs are a common source of technical debt. A backup script that fails quietly can lead to data loss, while a stuck worker process can degrade application performance. RunWisp addresses this by providing an audit trail for every execution. Operators can see exactly when a job ran, how long it took, and whether it succeeded. This visibility reduces the time spent debugging intermittent issues and increases confidence in automated maintenance tasks.

The tool’s design also simplifies infrastructure management. By consolidating scheduling and supervision into one binary, it reduces the number of moving parts in a server environment. There is no need to configure separate databases, web servers, or authentication systems for the monitoring dashboard. This simplicity lowers the barrier to entry for smaller teams who may not have dedicated DevOps resources. Furthermore, the ability to migrate gradually means teams can adopt the tool without risking disruption to critical existing workflows.

What you can do

  • Evaluate RunWisp for non-critical background tasks first, such as log rotation or temporary file cleanup, to test its reliability in your environment.
  • Use the runwisp import cron command to generate a starting configuration from your existing crontab, reviewing each generated task for accuracy.
  • Pin the specific version of the binary you deploy and maintain regular backups of the runwisp.toml file and data directory.
  • Configure timezone settings explicitly for each task to avoid ambiguity during Daylight Saving Time changes.
  • Integrate the tool with your existing init system (systemd or launchd) using the provided installation wrappers to ensure automatic restarts.
  • Review the project’s CHANGELOG before upgrading to understand any potential breaking changes, as the software is still in its early 1.x lifecycle.

More news

All news