A terminal UI for managing cron jobs — with human-readable schedule descriptions, next-run times, a 24-hour firing timeline, and a live preview editor.
cronv · 12 jobs · system crontab [24h]
Schedule │ Description │ Next Run │ Command
─────────────────┼──────────────────────────────────────┼───────────────────────┼────────────────────
*/15 * * * * │ Every 15 minutes │ 09:15 (in 13m) │ run-parts /etc/...
0 2 * * * │ Daily at 02:00 │ Tue 02:00 (in 5h) │ run-parts /etc/...
0 3 * * 6 │ Saturdays at 03:00 │ Sat 03:00 (in 4 days) │ run-parts /etc/...
0 4 * * 0,3 │ Sundays and Wednesdays at 04:00 │ Wed 04:00 (in 1 day) │ /usr/bin/pihole…
5 4 1-7 * 0 │ At 04:05 on days 1 to 7 or on Sunday │ Sun 04:05 (in 5 days) │ /usr/bin/apt up…
*/5 * * * * │ Every 5 minutes │ disabled │ curl -s https://…
curl -sSL https://raw.githubusercontent.com/13/cronv/main/install.sh | shDownload the latest release for your platform from the Releases page:
| Platform | Binary |
|---|---|
| Linux x86-64 (glibc) | cronv-linux-x86_64.tar.gz |
| Linux x86-64 (musl / Alpine) | cronv-linux-x86_64-musl.tar.gz |
| Linux ARM64 (musl, static) | cronv-linux-aarch64-musl.tar.gz |
| macOS Intel | cronv-macos-x86_64.tar.gz |
| macOS Apple Silicon | cronv-macos-aarch64.tar.gz |
# Example: Linux
curl -LO https://github.com/13/cronv/releases/latest/download/cronv-linux-x86_64-musl.tar.gz
tar xzf cronv-linux-x86_64-musl.tar.gz
sudo mv cronv /usr/local/bin/Requires Rust 1.88+ (stable).
git clone https://github.com/13/cronv
cd cronv
cargo build --release
# Binary: target/release/cronvrustup target add x86_64-unknown-linux-musl
sudo apt-get install musl-tools # Debian/Ubuntu
cargo build --release --target x86_64-unknown-linux-musl
# Binary: target/x86_64-unknown-linux-musl/release/cronvcronv [OPTIONS]
Options:
-f, --file <PATH> Edit a crontab file directly instead of the system crontab
-V, --version Print version and exit
-h, --help Print this help and exit
cronv # Edit the current user's system crontab
cronv --file ~/jobs.cron # Edit a crontab file directly
cronv -f ~/my-jobs.cron # Same, short formNote: system-wide crontabs that carry a user column (e.g.
/etc/crontab,/etc/cron.d/*) use a 6-field format that cronv does not parse — stick to per-user crontabs or plain 5-field files.
| Key | Action |
|---|---|
↑ / k | Move up |
↓ / j | Move down |
n / a | Add new cron job |
e / Enter | Edit selected entry |
i | Job info: next 10 runs + 24h chart |
d | Delete selected entry (with confirmation) |
t | Toggle enable / disable (comments the line) |
s | Save crontab to system |
c | Toggle 12h / 24h clock display |
? | Help overlay |
q / Esc | Quit (prompts if there are unsaved changes) |
| Key | Action |
|---|---|
Tab / Shift+Tab | Next / previous field |
F1 | Toggle between @special and 5-field mode |
Ctrl+S | Save entry |
Enter | Advance to next field, or save on Command field |
Esc | Cancel edit |
┌───── minute (0–59) */5 0,15,30,45 10-20
│ ┌─── hour (0–23) */2 9,17 8-18
│ │ ┌─ day-of-month (1–31) */5 1,15 1-7
│ │ │ ┌ month (1–12) */3 2-4 JAN,JUN,DEC
│ │ │ │ ┌ weekday (0–7) 1-5 0,6 MON-FRI (0/7 = Sunday)
* * * * *
When both day-of-month and weekday are restricted, the job fires when either matches (Vixie cron semantics).
Next-run times are computed in local time; daylight-saving transitions are approximated (a run scheduled inside a DST jump may be off by the shifted hour).
| Keyword | Equivalent | Description |
|---|---|---|
@reboot | — | At system startup |
@hourly | 0 * * * * | Every hour at :00 |
@daily / @midnight | 0 0 * * * | Daily at midnight |
@weekly | 0 0 * * 0 | Sundays at midnight |
@monthly | 0 0 1 * * | 1st of month at midnight |
@yearly / @annually | 0 0 1 1 * | Jan 1 at midnight |