https://github.com/cronitorio/cronitor-cli
Command line tools for Cronitor.io
https://github.com/cronitorio/cronitor-cli
cron cronitor crontab
Last synced: 4 months ago
JSON representation
Command line tools for Cronitor.io
- Host: GitHub
- URL: https://github.com/cronitorio/cronitor-cli
- Owner: cronitorio
- License: mit
- Created: 2020-06-24T01:42:43.000Z (almost 6 years ago)
- Default Branch: master
- Last Pushed: 2024-12-23T19:54:17.000Z (over 1 year ago)
- Last Synced: 2025-04-05T17:18:51.214Z (about 1 year ago)
- Topics: cron, cronitor, crontab
- Language: Go
- Homepage: https://cronitor.io/docs/using-cronitor-cli
- Size: 25.6 MB
- Stars: 87
- Watchers: 5
- Forks: 12
- Open Issues: 10
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# CronitorCLI
[](https://github.com/cronitorio/cronitor-cli/actions/workflows/tests.yml)
**Command line tools for Cronitor.io**
CronitorCLI is the recommended companion application to the Cronitor monitoring service. Use it on your workstation and deploy it to your server for powerful features, including:
* Import and sync all of your cron jobs with Cronitor
* Easily manage your cron jobs with the [web-based control panel](#crontab-guru-dashboard)
* Automatic integration with Cronitor
* Power tools for your cron jobs
## Installation
CronitorCLI is packaged as a single executable for Linux, MacOS and Windows. There is a simple installation script, but all you need to do is download and decompress the app into a location of your choice for easy system-wide use.
For the latest installation details, see https://cronitor.io/docs/using-cronitor-cli#installation
## Usage
```
cronitor [command]
```
### Cron Management
| Command | Description |
|---------|-------------|
| `cronitor sync` | Sync cron jobs to Cronitor |
| `cronitor exec ` | Run a command with monitoring |
| `cronitor list` | List all cron jobs |
| `cronitor status` | View monitor status |
| `cronitor dash` | Start the web dashboard |
### API Resources
Manage Cronitor resources directly from the command line.
#### Monitors
```bash
cronitor monitor list # List all monitors
cronitor monitor list --type job --state failing # Filter by type and state
cronitor monitor list --tag critical --env production # Filter by tag and environment
cronitor monitor export -o monitors.yaml # Export full YAML config
cronitor monitor export --type job # Export only jobs
cronitor monitor search "backup" # Search monitors
cronitor monitor get # Get monitor details
cronitor monitor get --with-events # Include latest events
cronitor monitor create -d '{"key":"my-job","type":"job"}'
cronitor monitor create --file monitors.yaml # Create from YAML
cronitor monitor update -d '{"name":"New Name"}'
cronitor monitor delete # Delete one
cronitor monitor delete key1 key2 key3 # Delete many
cronitor monitor clone --name "Copy" # Clone a monitor
cronitor monitor pause # Pause indefinitely
cronitor monitor pause --hours 24 # Pause for 24 hours
cronitor monitor unpause
```
#### Status Pages
```bash
cronitor statuspage list
cronitor statuspage list --with-status # Include current status
cronitor statuspage get --with-components # Include components
cronitor statuspage create -d '{"name":"My Status Page","subdomain":"my-status"}'
cronitor statuspage update -d '{"name":"Updated"}'
cronitor statuspage delete
# Components (nested under statuspage)
cronitor statuspage component list --statuspage my-page
cronitor statuspage component create -d '{"statuspage":"my-page","monitor":"api-health"}'
cronitor statuspage component update -d '{"name":"New Name"}'
cronitor statuspage component delete
```
#### Issues
```bash
cronitor issue list # List all issues
cronitor issue list --state unresolved --severity outage # Filter
cronitor issue list --monitor my-job --time 24h # By monitor, time range
cronitor issue list --search "database" # Search issues
cronitor issue get
cronitor issue create -d '{"name":"DB issues","severity":"outage"}'
cronitor issue update -d '{"state":"investigating"}'
cronitor issue resolve # Shorthand for resolving
cronitor issue delete
cronitor issue bulk --action delete --issues KEY1,KEY2 # Bulk actions
```
#### Notifications
```bash
cronitor notification list
cronitor notification get
cronitor notification create -d '{"name":"DevOps","notifications":{"emails":["team@co.com"]}}'
cronitor notification update -d '{"name":"Updated"}'
cronitor notification delete
```
#### Groups
```bash
cronitor group list
cronitor group list --with-status # Include group status
cronitor group get
cronitor group create -d '{"name":"Production Jobs"}'
cronitor group update -d '{"monitors":["job1","job2"]}'
cronitor group delete
cronitor group pause 24 # Pause all monitors for 24 hours
cronitor group resume # Resume all monitors
```
#### Environments
```bash
cronitor environment list
cronitor environment get
cronitor environment create -d '{"key":"staging","name":"Staging"}'
cronitor environment update -d '{"name":"Updated"}'
cronitor environment delete
```
**Aliases:** `cronitor env` → `environment`, `cronitor notifications` → `notification`
### Common Flags
| Flag | Description |
|------|-------------|
| `--format json\|table\|yaml` | Output format (default: `table` for list, `json` for get) |
| `-o, --output ` | Write output to a file |
| `--page ` | Page number for paginated results |
| `-d, --data ` | JSON data for create/update |
| `-f, --file ` | Read JSON or YAML from a file |
| `-k, --api-key ` | Cronitor API key |
## Crontab Guru Dashboard
The Cronitor CLI bundles the [Crontab Guru Dashboard](https://crontab.guru/dashboard.html), a self‑hosted web UI to manage your cron jobs, including a one‑click “run now” and "suspend", a local console for testing jobs, and a built in MCP server for configuring jobs and checking the health/status of existing ones.
Start locally
```
cronitor dash
# then visit http://localhost:9000
```
Secure access
The dashboard is intended for local or secured access. A simple, safe pattern for remote use is an SSH tunnel:
```
ssh -L 9000:localhost:9000 user@your-server
# now open http://localhost:9000
```
Access control & options
```
# Set login credentials for the dashboard
cronitor configure --dash-username USER --dash-password PASS
# Optionally, restrict which system users' crontabs are loaded
cronitor configure --users user1,user2
```
For systemd and Docker examples, and security best‑practices, see the full [Dashboard documentation](https://crontab.guru/dashboard.html).
## MCP Server (AI Integration)
The Cronitor CLI includes a built-in [Model Context Protocol (MCP)](https://modelcontextprotocol.io) server for managing cron jobs with natural language through AI-powered tools like Claude Code, Cursor, Cline, and Windsurf.
**Quick start:** Run `cronitor dash` on your server, then configure your MCP client to spawn `cronitor dash --mcp-instance default`.
For setup instructions, available tools, and configuration options, see the [MCP Integration Guide](docs/MCP_INTEGRATION.md).
## Uninstall CronitorCLI
First, you will need to update any crontab files that were edited to include Cronitor to remove the reference to `cronitor exec MONITOR_KEY` that were added when you created monitors.
Then, remove the cronitor executable from wherever it was installed. If you followed our default instructions it can be removed with `rm /usr/bin/cronitor`