Use case
Every crontab, in one schedule.
Move the jobs hiding in crontabs across your servers into one schedule, with retries, timeouts, history and alerts. No more SSH-ing in to find out whether last night's job ran.
# fra-prod-01
0 3 * * * deploy /opt/app/report.sh >> /var/log/report.log 2>&1
*/15 * * * * deploy /opt/app/sync-invoices.sh
# nyc-db-01
30 4 * * 0 postgres vacuumdb --all --analyze
# lon-cache-01, sgp-edge-01
0 * * * * root find /tmp -mtime +1 -delete Before: four servers, four crontabs, no history.
jobs:
nightly-report:
schedule: "0 3 * * *"
target: role=worker
command: /opt/app/report.sh
retries: 3
timeout: 15m
notify: [slack:#ops]
db-vacuum:
schedule: "30 4 * * 0"
target: role=db
command: vacuumdb --all --analyze After: one schedule, with retries and an owner.
Migration
Move over in an afternoon.
You don't have to rewrite anything. The agent finds the jobs, you decide which ones Fwoop should own.
- 1
Import
Each agent reads the crontabs on its server and suggests a Fwoop job for every entry it finds.
- 2
Review
Group duplicates into one job with a label target, then add retries, a timeout and an owner.
- 3
Adopt
Fwoop takes over the schedule and comments out the old crontab line, so nothing runs twice.
What changes the morning after
Every run on record
Output, exit code and duration for each run, instead of a log file you hope exists.
Failures reach a person
Each job has an owner, and failed or missed runs alert them where they work.
No more pile-ups
Timeouts kill hung runs, and overlap rules stop a slow job from running twice.
One timezone per job
Schedules stop depending on how each server's clock was set up.
Questions about moving crontabs
Does the import change anything on my servers?
Not until you adopt a job. Fwoop reads the crontabs and suggests jobs; when you adopt one, it comments out the old line so the job never runs twice.
Can I keep some jobs in crontab?
Yes. Adopt the ones that matter and leave the rest. Fwoop only manages the jobs you move over.
What about jobs that must run on every server?
Target a label like all or role=web and choose to run on every matching server, or on one healthy server picked from the label.
Bring your first server online in five minutes.
Start free with three servers. No credit card, no sales call, and your workloads stay on machines you own.