antoniorodr/Cronboard

A terminal-based dashboard for managing cron jobs locally and on servers.

1,449

stars

466

commits

Python

primary language

Sep 8, 2026

updated

cronboard.dev/
cli
cron
cron-job
cronjob
cron-jobs
cronjobs
cronjob-scheduler
crontab
devops
devops-tools
terminal-based
textual
tui
tui-app
Browse cluster: Job scheduling and task automation

README

cronboard

[!important] Cronboard was selected as the Terminal Trove Tool of the Week in October 28th 2025!

ℹ️ About

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 cronboard.dev.

🎬 Demo

Cronboard demo

✨ Features

  • Check cron jobs, view the logs, and detect potential issues when running
  • Autocompletion for paths when creating or editing cron jobs
  • Create cron jobs with validation and human-readable feedback
  • Pause/resume, edit and delete cron jobs
  • View formatted last and next run times
  • Accept special expressions like @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 sudo permissions
  • Search for cron jobs using case-insensitive keywords
  • Get notifications via Telegram when a cron job fails

🛠️ Technologies

The project is built with:

📋 Requirements

Before starting, make sure cron is installed and available on your machine:

where crontab

If you install Cronboard with pip or uv, you also need Python 3.13 or newer.

📦 Installation

For installation instructions, please refer to the official documentation.

🚀 Getting Started

Once installed, run:

cronboard

Cronboard 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.

⌨️ Autocompletion

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.

:bell: Notifications

Cronboard can send notifications via Telegram when a cron job fails. To enable this feature, enter your Telegram token and chat ID in the settings panel.

Do you need help getting your Telegram token and Telegram chat ID? Check out this guide on the official Cronboard documentation.

❤️ Do you like my work?

If you find the project useful, you can support the author here:

GitHub Sponsor

Contributors

antoniorodr

416 commits

bcExpt1123

28 commits

Zaloog

8 commits

RunningKuma

7 commits

antoniorodr/Cronboard

A terminal-based dashboard for managing cron jobs locally and on servers.

1,449

stars

466

commits

Python

primary language

Sep 8, 2026

updated

cronboard.dev/
cli
cron
cron-job
cronjob
cron-jobs
cronjobs
cronjob-scheduler
crontab
devops
devops-tools
terminal-based
textual
tui
tui-app
Browse cluster: Job scheduling and task automation

README

cronboard

[!important] Cronboard was selected as the Terminal Trove Tool of the Week in October 28th 2025!

ℹ️ About

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 cronboard.dev.

🎬 Demo

Cronboard demo

✨ Features

  • Check cron jobs, view the logs, and detect potential issues when running
  • Autocompletion for paths when creating or editing cron jobs
  • Create cron jobs with validation and human-readable feedback
  • Pause/resume, edit and delete cron jobs
  • View formatted last and next run times
  • Accept special expressions like @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 sudo permissions
  • Search for cron jobs using case-insensitive keywords
  • Get notifications via Telegram when a cron job fails

🛠️ Technologies

The project is built with:

📋 Requirements

Before starting, make sure cron is installed and available on your machine:

where crontab

If you install Cronboard with pip or uv, you also need Python 3.13 or newer.

📦 Installation

For installation instructions, please refer to the official documentation.

🚀 Getting Started

Once installed, run:

cronboard

Cronboard 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.

⌨️ Autocompletion

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.

:bell: Notifications

Cronboard can send notifications via Telegram when a cron job fails. To enable this feature, enter your Telegram token and chat ID in the settings panel.

Do you need help getting your Telegram token and Telegram chat ID? Check out this guide on the official Cronboard documentation.

❤️ Do you like my work?

If you find the project useful, you can support the author here:

GitHub Sponsor

Contributors

antoniorodr

416 commits

bcExpt1123

28 commits

Zaloog

8 commits

RunningKuma

7 commits

Languages

Python

91.4%

HTML

4.7%

Shell

2.3%

Nix

1.6%