koku (刻)
A cron daemon written in Rust. Single binary that manages and runs scheduled jobs.
Install
This builds a release binary and symlinks ku as an alias.
Quick start
Config
~/.config/koku/config.toml
[[]]
= "backup"
= "0 2 * * *"
= "bash backup.sh"
= "/home/user/scripts"
= "backoff" # continue | backoff | stop (default: continue)
= false # allow concurrent runs (default: false)
= "30m" # kill after duration (optional)
[[]]
= "cleanup"
= "*/15 * * * *"
= "python3 cleanup.py"
Error policies
- continue — ignore failures, keep scheduling (default)
- backoff — exponential backoff on failure (2^n seconds, capped at ~17 min)
- stop — disable after 3 consecutive failures, requires
ku resume
CLI
ku init scaffold config with examples
ku check validate config, preview next-run times
ku daemon start start daemon in background
ku daemon stop stop daemon
ku daemon run run daemon in foreground
ku status table of all jobs with state/timing
ku status --json machine-readable output
ku run <name> trigger one-off run
ku pause <name> pause a job
ku resume <name> resume a paused/stopped job
ku reload reload config without restarting
Web dashboard
Use kagaya (ky serve) for a web UI. kagaya connects to koku's Unix socket and provides cron status, one-off runs, and pause/resume from the browser.