Migrate from cron-job.org
Move your cron-job.org jobs to SteadyCron step by step — recreate each URL job in a YAML manifest, add retries and alerts, then disable the old jobs.
cron-job.org is a solid free URL pinger. When a job starts to matter — a billing task, a data sync, anything a customer notices when it silently stops — you usually want retries, timeout enforcement, real alerting, and an execution log you can audit. That’s the gap SteadyCron fills, with schedules defined in YAML or Terraform instead of a dashboard.
There is no export file to import, so the migration is a short manual loop.
1. List your cron-job.org jobs
In the cron-job.org console, note down for each job:
- the URL, HTTP method, and any request body
- the schedule and timezone
- custom headers (e.g. an auth token your endpoint checks)
2. Recreate each job in a manifest
steadycron manifest add job appends one job at a time to steadycron.yaml:
steadycron manifest add job --kind http --name warm-cache --schedule "*/15 * * * *"
Or write the manifest directly:
jobs:
- id: warm-cache
name: Warm cache
kind: http
method: POST
url: https://app.example.com/tasks/warm-cache
schedule: "*/15 * * * *"
timezone: UTC
retries: 3
headers:
Authorization: Bearer ${CRON_SECRET} # resolved from --env-file at apply time
Then validate and apply:
steadycron validate steadycron.yaml
steadycron apply steadycron.yaml --env-file secrets.env --namespace prod
3. Run both in parallel, then switch off
Let both services call the endpoint for a day or two (make sure the task is idempotent, or stagger the schedules by a few minutes). Once the SteadyCron execution log shows green runs, disable the cron-job.org job.
What you gain
| cron-job.org | SteadyCron | |
|---|---|---|
| Retries on failure | No | Configurable with exponential backoff |
| Timeout enforcement | Fixed, short | Per job, configurable |
| Heartbeat monitoring for your own crons | No | Yes |
| Alert channels | Email, Slack, Discord, Telegram, webhook | |
| Schedules in git (YAML / Terraform) | No | Yes — validate, plan, apply |
| Execution history | Basic | Per-run status, response, duration |
| Hosting | EU | EU (GDPR-native, signed DPA) |
Next steps
- YAML & CLI — full manifest workflow
- HTTP jobs — request builder, retries, timeouts
- Alerting — route failures to the right channel