Skip to content

Replace Cron File Transfer Jobs — From Fragile Scripts to Durable Flows

Cron is a scheduler. It knows nothing about file transfer. The logic — the actual transfer behavior — lives in shell or PowerShell scripts that cron calls.

Over time, those scripts become harder to understand, harder to debug, and harder to extend.

  • structured retry with backoff
  • idempotency to prevent duplicate delivery
  • operator-facing run history
  • file-level audit evidence
  • notification on failure without writing extra glue logic
  • consistent credential handling across multiple partners
  • a clear way to see what ran at 3am Tuesday

Xferity keeps the schedule, but moves the transfer logic into explicit, reviewable flow definitions.

flows:
bank-statement-pickup:
direction: download
source:
type: sftp
partner: bank-sftp
remote_path: /outgoing
pattern: "*.csv"
destination:
type: local
path: ./storage/bank/incoming
idempotency_mode: hash
schedule_cron: "0 0 6 * * 1-5"
notifications:
on_failure: true

This one flow definition replaces a cron entry that calls a shell script that calls sftp. The difference: retries, idempotency, history, audit trace, and a notification on failure.