Manage cron jobs
without the pain

A native desktop cron manager built in Rust. Visual expression builder, safe editing with conflict detection, automatic backups. A single binary that, on macOS, links only system frameworks and libraries.

View on GitHub Get Started
9.2 MiB
Release Binary (macOS arm64)
61
Unit Tests
MIT
License

Binary size measured 27 Sep 2026: cargo build --release with rustc 1.95.0 on macOS 26.3 (arm64), 9,627,232 bytes. It varies by platform and toolchain.

Features

Everything you need to manage cron

A GUI over your user crontab that adds a schedule preview, conflict detection and backups on top of the crontab command.

+

Full CRUD Operations

Create, edit, enable/disable, and delete cron jobs through a clean interface. Search by keyword and filter by tag.

☷

Visual Expression Builder

Build cron schedules visually with a dropdown per field, or type raw expressions. See a plain-language description and the next 5 execution times before saving.

✓

Conflict Detection

A SHA-256 checksum detects crontab changes made outside the app. If one is found, the save is aborted and the crontab is reloaded instead of overwritten.

↺

Automatic Backups

Before every save, the app attempts to copy the current crontab to a timestamped backup with 0600 permissions (best-effort: a failed backup is logged and the save continues). The 20 most recent are kept; restore one with crontab <file>.

⇄

Lossless Round-Trips

Lines you do not edit, including comments, environment variables and % in commands, are written back exactly as read. Whitespace-only lines become empty, CRLF becomes LF, and non-empty output ends with a newline.

#

Tags and Macros

Organize jobs with # [tag1, tag2] description comments. Special macros such as @reboot, @daily and @hourly are supported.

Get Started

Build from source

Build from source with Cargo. Requires Rust 1.87+ and a system with the crontab command. Built and tested in CI on macOS; Linux is expected to work but is not tested in CI.

# Clone the repository
git clone https://github.com/omar16100/cron_manager.git
cd cron_manager

# Build release binary
cargo build --release

# Run
./target/release/cron_manager