Cronboard is a terminal-based application designed to simplify the management of cron jobs across both local systems and remote servers. Built with Python and Textual, it provides an interactive interface to view, create, edit, pause, resume, and delete cron entries without manually editing crontab files. This tool is especially valuable for system administrators, DevOps engineers, and developers who manage multiple servers and need a consistent, visual way to handle scheduled tasks. By integrating SSH connectivity and sudo-aware user switching, Cronboard reduces the risk of syntax errors and improves workflow efficiency when dealing with distributed cron configurations.
What You Get
- Manage local and remote cron jobs - View, add, edit, pause, resume, and delete cron entries on both your local machine and remote servers via SSH.
- SSH connectivity with key/password support - Connect to remote servers using either SSH keys (from ~/.ssh/known_hosts) or password authentication, enabling secure remote cron management.
- Autocomplete for file paths - When creating or editing jobs, press Tab to auto-complete file paths starting from the user’s home directory, reducing input errors.
- Human-readable cron expression validation - Supports special expressions like @daily, @monthly, and @yearly with real-time feedback to ensure correct syntax.
- Formatted run time display - View formatted last and next execution times for each cron job, making it easy to verify schedule accuracy.
- User switching via sudo - Manage cron jobs for other users if you have sudo privileges, without needing to log in as those users.
Common Use Cases
- Managing cron jobs across multiple servers - DevOps teams use Cronboard to standardize and audit scheduled tasks on production, staging, and development servers via SSH without logging into each one manually.
- Debugging failed cron jobs - System administrators use the visual interface to quickly identify misconfigured or paused jobs and see when they last ran, reducing troubleshooting time.
- Avoiding crontab syntax errors - Developers who frequently edit cron files use Cronboard’s validation and autocomplete to prevent common mistakes like incorrect paths or malformed schedules.
- Team workflows with shared server access - Junior engineers can safely manage cron jobs on remote servers under sudo supervision, using Cronboard’s intuitive interface instead of risky direct crontab -e edits.
Under The Hood
CronBoard is a terminal-based dashboard application that enables users to manage cron jobs both locally and across remote servers using SSH. It provides a rich, interactive UI built with the Textual framework, making system administration more accessible through a graphical interface within the terminal.
Architecture
CronBoard adopts a layered architecture that separates UI concerns from core logic and data handling components.
- The application follows a monolithic structure with well-defined modules for UI, business logic, and encryption
- UI elements are organized into dedicated widget files to support modularity and reusability
- Screen-based navigation allows for distinct views such as local crontab management and remote server connections
Tech Stack
The project is built using Python with a focus on terminal-native development and system automation.
- The primary language is Python 3.13+, leveraging async capabilities for responsive UI handling
- Textual framework powers the terminal-based user interface with support for dynamic rendering and interaction
- Key dependencies include paramiko for SSH connectivity, python-crontab and cron-descriptor for parsing, and cryptography for secure credential storage
- Development and testing are supported by setuptools, pytest, and textual-dev tools for streamlined workflow
Code Quality
CronBoard presents a moderate level of code quality with consistent structure and some technical debt.
- Testing is present but limited in scope, covering core functionality and basic UI interactions
- Error handling is implemented for critical operations like SSH connections and configuration loading
- Code organization follows naming conventions and structured class layouts, though some areas show room for improvement
What Makes It Unique
CronBoard distinguishes itself through its integration of terminal UI with remote server management and secure credential handling.
- It uniquely combines SSH support for managing crontabs on remote systems with a clean, visual terminal interface
- The inclusion of textual-autocomplete enhances command input in terminal environments for better usability
- Secure credential handling via encryption and TOML-based configuration offers a practical solution for managing sensitive data in system administration