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.orgSteadyCron
Retries on failureNoConfigurable with exponential backoff
Timeout enforcementFixed, shortPer job, configurable
Heartbeat monitoring for your own cronsNoYes
Alert channelsEmailEmail, Slack, Discord, Telegram, webhook
Schedules in git (YAML / Terraform)NoYes — validate, plan, apply
Execution historyBasicPer-run status, response, duration
HostingEUEU (GDPR-native, signed DPA)

Next steps

  • YAML & CLI — full manifest workflow
  • HTTP jobs — request builder, retries, timeouts
  • Alerting — route failures to the right channel