Von Cronitor migrieren
Cronitor-Monitore zu SteadyCron-Heartbeat-Checks umziehen — Monitore per API auflisten, als YAML neu anlegen und die Telemetrie-URLs in den Crontabs tauschen.
Cronitor-Monitore und SteadyCron-Heartbeat-Checks folgen demselben Modell: Ihr Job pingt eine Telemetrie-URL, ein ausbleibender oder fehlgeschlagener Ping wird zum Alarm. Die Migration ist damit reine Zuordnungsarbeit — Monitor neu anlegen, Ping-URL tauschen, kurz parallel laufen lassen, fertig. SteadyCron führt zusätzlich geplante HTTP-Jobs aus (mit Retries und Timeouts) und verwaltet alles als YAML oder Terraform, gehostet in der EU.
1. Cronitor-Monitore auflisten
Die Cronitor-API liefert jeden Monitor mit Zeitplan und Grace-Einstellungen:
curl -s https://cronitor.io/api/monitors -u "$CRONITOR_API_KEY:" \
| jq '.monitors[] | {name: .name, schedule: .schedule, grace: .grace_seconds, tz: .timezone}'
2. Monitore als Heartbeat-Checks neu anlegen
Cron-Monitore werden zu schedule + timezone; Intervall-Monitore („alle X Minuten”) zu
interval in Sekunden:
jobs:
- id: nightly-db-backup
name: Nightly DB backup
kind: heartbeat
schedule: "0 2 * * *"
timezone: Europe/Berlin
grace: 1800
- id: sync-worker
name: Sync worker
kind: heartbeat
interval: 600
grace: 120
Oder interaktiv, einzeln:
steadycron manifest add job --kind heartbeat --name nightly-db-backup --schedule "0 2 * * *"
Danach steadycron apply steadycron.yaml. Jeder Check erhält eine eindeutige Ping-URL
unter ping.steadycron.com.
3. Telemetrie-URLs tauschen
Ersetzen Sie den cronitor.link-Ping in jeder Crontab-Zeile bzw. jedem Wrapper-Skript:
# vorher
0 2 * * * cronitor exec db-backup /usr/local/bin/backup.sh
# nachher
0 2 * * * /usr/local/bin/backup.sh && curl -fsS https://ping.steadycron.com/<ihr-ping-token>
Wer cronitor exec genutzt hat: Das Curl-Muster oben pingt nur bei Erfolg — genau das,
was ein Dead-Man’s-Switch braucht. Pingen Sie einige Tage beide Dienste parallel, bevor Sie
die Cronitor-Monitore löschen.
Was anders ist
| Cronitor | SteadyCron | |
|---|---|---|
| Cron-Monitoring | Ja | Ja |
| Ausführung geplanter HTTP-Jobs | Einfache Checks | Vollwertige Jobs — Retries, Timeouts, Request-Builder, Protokoll |
| Konfiguration als Code | API, Terraform (Community), YAML via CLI | YAML-Manifest + offizieller Terraform-Provider |
| Alert-Kanäle | Viele (planabhängig) | E-Mail, Slack, Discord, Telegram, Webhook — alle Tarife |
| Hosting | USA | EU (DSGVO-nativ, AV-Vertrag) |
Nächste Schritte
- Heartbeat-Monitoring — Grace-Zeiten, hängende Jobs
- Ping-Snippets — Bash, Python, .NET, Docker, Kubernetes
- YAML & CLI — der komplette Manifest-Workflow