Menu

Building backupctl: what it took to replace a cron job with a backup service
πŸ“°

Building backupctl: what it took to replace a cron job with a backup service

DEV CommunityΒ·Vineeth N KΒ·6 months ago
#ni4E6WrK
#nestjs#hexagonalarchitecture#backup#restic#software
Reading 0:00
15s threshold

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.…

Continue reading β€” create a free account

Join HashtagPLUS to read full articles, follow hashtags, vote, and join the conversation.