Building backupctl: what it took to replace a cron job with a backup service If you've ever strung pg_dump | gzip | rclone into a cron job and promised yourself you'd clean it up later β this post is for you. I've been there. And "later" usually arrives the day you add a second project to the same server. backupctl is the tool I built when I finally got tired of patching that script. It's a standalone Docker service that orchestrates scheduled backups across multiple projects β databases, files, or both β with encryption, notifications, an audit trail, and a proper CLI. One YAML, zero babysitting. This post is part of a series where I'm walking through each of my open-source projects: why I built them, what surprised me along the way, and what I'd do differently. I'm starting with backupctl because it's the one that taught me the most. How I got here The setup was simple. One production server. One cron entry. restic writing encrypted snapshots to a Hetzner Storage Box over SFTP.β¦