Important
Cronboard was selected as the Terminal Trove Tool of the Week in October 28th 2025!
Caution
Status: Under development
Cronboard is a terminal application for managing and scheduling cron jobs on local and remote servers. You can add, edit, pause, resume, search, and delete jobs from a Textual-based interface.
Full documentation is available at antoniorodr.github.io/cronboard.
- Check cron jobs
- Autocompletion for paths when creating or editing cron jobs
- Create cron jobs with validation and human-readable feedback
- Pause and resume cron jobs
- Edit existing cron jobs
- Delete cron jobs
- View formatted last and next run times
- Accept
special expressionslike@daily,@yearly, and@monthly - Connect to servers over SSH with either a password or SSH keys
- Manage cron jobs for another user when you have the required
sudopermissions - Search for cron jobs using case-insensitive keywords
The project is built with:
Before starting, make sure cron is installed and available on your machine:
crontab -lIf you install Cronboard with pip or uv, you also need Python 3.13 or newer.
git clone https://github.com/antoniorodr/cronboard
cd cronboard
pip install .brew install cronboardInstallation with uv
uv tool install git+https://github.com/antoniorodr/cronboardyay -S cronboardnix profile add github:antoniorodr/cronboardOnce installed, run:
cronboardCronboard includes a footer, provided by Textual, that shows the available commands.
Note
When connecting to a remote server with an SSH key, Cronboard looks for the known_hosts file in the default location: ~/.ssh/known_hosts.
Important
If you choose to manage cron jobs for another user, make sure you have the necessary permissions. In practice, that means you need sudo access.
Path autocompletion when creating or editing cron jobs helps you enter file paths faster.
The default starting point for autocompletion is the home directory of the user whose cron jobs you are managing. Accept a suggestion with the Tab key.
If you find the project useful, you can support the author here:
