{"id":20522810,"url":"https://github.com/cronitorio/cronitor-cli","last_synced_at":"2026-02-05T20:02:07.715Z","repository":{"id":37388900,"uuid":"274548350","full_name":"cronitorio/cronitor-cli","owner":"cronitorio","description":"Command line tools for Cronitor.io","archived":false,"fork":false,"pushed_at":"2024-12-23T19:54:17.000Z","size":26815,"stargazers_count":87,"open_issues_count":10,"forks_count":12,"subscribers_count":5,"default_branch":"master","last_synced_at":"2025-04-05T17:18:51.214Z","etag":null,"topics":["cron","cronitor","crontab"],"latest_commit_sha":null,"homepage":"https://cronitor.io/docs/using-cronitor-cli","language":"Go","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/cronitorio.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2020-06-24T01:42:43.000Z","updated_at":"2025-03-30T02:22:52.000Z","dependencies_parsed_at":"2024-06-19T01:36:09.153Z","dependency_job_id":"0b844b86-1170-4ef4-b37b-cf23bb7b5add","html_url":"https://github.com/cronitorio/cronitor-cli","commit_stats":null,"previous_names":[],"tags_count":25,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/cronitorio%2Fcronitor-cli","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/cronitorio%2Fcronitor-cli/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/cronitorio%2Fcronitor-cli/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/cronitorio%2Fcronitor-cli/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/cronitorio","download_url":"https://codeload.github.com/cronitorio/cronitor-cli/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":247500469,"owners_count":20948880,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["cron","cronitor","crontab"],"created_at":"2024-11-15T22:36:56.187Z","updated_at":"2026-02-05T20:02:07.706Z","avatar_url":"https://github.com/cronitorio.png","language":"Go","funding_links":[],"categories":["JavaScript"],"sub_categories":[],"readme":"# CronitorCLI\n[![Tests](https://github.com/cronitorio/cronitor-cli/actions/workflows/tests.yml/badge.svg)](https://github.com/cronitorio/cronitor-cli/actions/workflows/tests.yml)\n\n**Command line tools for Cronitor.io**\n\nCronitorCLI 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:\n\n* Import and sync all of your cron jobs with Cronitor\n* Easily manage your cron jobs with the [web-based control panel](#crontab-guru-dashboard)\n* Automatic integration with Cronitor\n* Power tools for your cron jobs\n\n## Installation\nCronitorCLI 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.\n\nFor the latest installation details, see https://cronitor.io/docs/using-cronitor-cli#installation\n\n## Usage\n\n```\ncronitor [command]\n```\n\n### Cron Management\n| Command | Description |\n|---------|-------------|\n| `cronitor sync` | Sync cron jobs to Cronitor |\n| `cronitor exec \u003ckey\u003e \u003ccmd\u003e` | Run a command with monitoring |\n| `cronitor list` | List all cron jobs |\n| `cronitor status` | View monitor status |\n| `cronitor dash` | Start the web dashboard |\n\n### API Resources\n\nManage Cronitor resources directly from the command line.\n\n#### Monitors\n\n```bash\ncronitor monitor list                                    # List all monitors\ncronitor monitor list --type job --state failing         # Filter by type and state\ncronitor monitor list --tag critical --env production    # Filter by tag and environment\ncronitor monitor export -o monitors.yaml                  # Export full YAML config\ncronitor monitor export --type job                       # Export only jobs\ncronitor monitor search \"backup\"                         # Search monitors\ncronitor monitor get \u003ckey\u003e                               # Get monitor details\ncronitor monitor get \u003ckey\u003e --with-events                 # Include latest events\ncronitor monitor create -d '{\"key\":\"my-job\",\"type\":\"job\"}'\ncronitor monitor create --file monitors.yaml             # Create from YAML\ncronitor monitor update \u003ckey\u003e -d '{\"name\":\"New Name\"}'\ncronitor monitor delete \u003ckey\u003e                            # Delete one\ncronitor monitor delete key1 key2 key3                   # Delete many\ncronitor monitor clone \u003ckey\u003e --name \"Copy\"               # Clone a monitor\ncronitor monitor pause \u003ckey\u003e                             # Pause indefinitely\ncronitor monitor pause \u003ckey\u003e --hours 24                  # Pause for 24 hours\ncronitor monitor unpause \u003ckey\u003e\n```\n\n#### Status Pages\n\n```bash\ncronitor statuspage list\ncronitor statuspage list --with-status                   # Include current status\ncronitor statuspage get \u003ckey\u003e --with-components          # Include components\ncronitor statuspage create -d '{\"name\":\"My Status Page\",\"subdomain\":\"my-status\"}'\ncronitor statuspage update \u003ckey\u003e -d '{\"name\":\"Updated\"}'\ncronitor statuspage delete \u003ckey\u003e\n\n# Components (nested under statuspage)\ncronitor statuspage component list --statuspage my-page\ncronitor statuspage component create -d '{\"statuspage\":\"my-page\",\"monitor\":\"api-health\"}'\ncronitor statuspage component update \u003ckey\u003e -d '{\"name\":\"New Name\"}'\ncronitor statuspage component delete \u003ckey\u003e\n```\n\n#### Issues\n\n```bash\ncronitor issue list                                      # List all issues\ncronitor issue list --state unresolved --severity outage # Filter\ncronitor issue list --monitor my-job --time 24h          # By monitor, time range\ncronitor issue list --search \"database\"                  # Search issues\ncronitor issue get \u003ckey\u003e\ncronitor issue create -d '{\"name\":\"DB issues\",\"severity\":\"outage\"}'\ncronitor issue update \u003ckey\u003e -d '{\"state\":\"investigating\"}'\ncronitor issue resolve \u003ckey\u003e                             # Shorthand for resolving\ncronitor issue delete \u003ckey\u003e\ncronitor issue bulk --action delete --issues KEY1,KEY2   # Bulk actions\n```\n\n#### Notifications\n\n```bash\ncronitor notification list\ncronitor notification get \u003ckey\u003e\ncronitor notification create -d '{\"name\":\"DevOps\",\"notifications\":{\"emails\":[\"team@co.com\"]}}'\ncronitor notification update \u003ckey\u003e -d '{\"name\":\"Updated\"}'\ncronitor notification delete \u003ckey\u003e\n```\n\n#### Groups\n\n```bash\ncronitor group list\ncronitor group list --with-status                       # Include group status\ncronitor group get \u003ckey\u003e\ncronitor group create -d '{\"name\":\"Production Jobs\"}'\ncronitor group update \u003ckey\u003e -d '{\"monitors\":[\"job1\",\"job2\"]}'\ncronitor group delete \u003ckey\u003e\ncronitor group pause \u003ckey\u003e 24                            # Pause all monitors for 24 hours\ncronitor group resume \u003ckey\u003e                              # Resume all monitors\n```\n\n#### Environments\n\n```bash\ncronitor environment list\ncronitor environment get \u003ckey\u003e\ncronitor environment create -d '{\"key\":\"staging\",\"name\":\"Staging\"}'\ncronitor environment update \u003ckey\u003e -d '{\"name\":\"Updated\"}'\ncronitor environment delete \u003ckey\u003e\n```\n\n**Aliases:** `cronitor env` → `environment`, `cronitor notifications` → `notification`\n\n### Common Flags\n\n| Flag | Description |\n|------|-------------|\n| `--format json\\|table\\|yaml` | Output format (default: `table` for list, `json` for get) |\n| `-o, --output \u003cfile\u003e` | Write output to a file |\n| `--page \u003cn\u003e` | Page number for paginated results |\n| `-d, --data \u003cjson\u003e` | JSON data for create/update |\n| `-f, --file \u003cpath\u003e` | Read JSON or YAML from a file |\n| `-k, --api-key \u003ckey\u003e` | Cronitor API key |\n\n## Crontab Guru Dashboard\n\nThe 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.\n\nStart locally\n\n```\ncronitor dash\n# then visit http://localhost:9000\n```\n\nSecure access\nThe dashboard is intended for local or secured access. A simple, safe pattern for remote use is an SSH tunnel:\n```\nssh -L 9000:localhost:9000 user@your-server\n# now open http://localhost:9000\n```\n\nAccess control \u0026 options\n```\n# Set login credentials for the dashboard\ncronitor configure --dash-username USER --dash-password PASS\n\n# Optionally, restrict which system users' crontabs are loaded\ncronitor configure --users user1,user2\n```\nFor systemd and Docker examples, and security best‑practices, see the full [Dashboard documentation](https://crontab.guru/dashboard.html).\n\n## MCP Server (AI Integration)\n\nThe 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.\n\n**Quick start:** Run `cronitor dash` on your server, then configure your MCP client to spawn `cronitor dash --mcp-instance default`.\n\nFor setup instructions, available tools, and configuration options, see the [MCP Integration Guide](docs/MCP_INTEGRATION.md).\n\n## Uninstall CronitorCLI\nFirst, 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.\n\nThen, remove the cronitor executable from wherever it was installed. If you followed our default instructions it can be removed with `rm /usr/bin/cronitor`\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcronitorio%2Fcronitor-cli","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fcronitorio%2Fcronitor-cli","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcronitorio%2Fcronitor-cli/lists"}