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

CronitorSteadyCron
Cron-MonitoringJaJa
Ausführung geplanter HTTP-JobsEinfache ChecksVollwertige Jobs — Retries, Timeouts, Request-Builder, Protokoll
Konfiguration als CodeAPI, Terraform (Community), YAML via CLIYAML-Manifest + offizieller Terraform-Provider
Alert-KanäleViele (planabhängig)E-Mail, Slack, Discord, Telegram, Webhook — alle Tarife
HostingUSAEU (DSGVO-nativ, AV-Vertrag)

Nächste Schritte