Backup Not Running
When a backup job fails to start, fails mid-run, or skips its schedule, here's how to diagnose and fix it.
A backup job that doesn't run is worse than no backup, you think you're covered, but you aren't. This page walks through the symptoms you'll see in the Backup tab, and the exact fix for each one.
CtrlOps backs up from your server to S3-compatible storage today (AWS, Cloudflare R2, Backblaze B2, Wasabi, MinIO, DigitalOcean Spaces). SFTP and Local destinations are not supported in the current release.
What we'll cover
- Banners at the top of the tab (rclone, cron, shell) and what each one means.
- "Test Connection" failures and how to read them.
- Backups that succeed but copy zero files.
- Scheduled backups that never trigger.
- Live runs that stall, fail mid-way, or run too slowly.
First, scan the top of the Backup tab
Whenever something breaks, the Backup tab shows you why. Before opening any specific job, look for one of these alert banners:
| Banner | What it means | One-click fix |
|---|---|---|
| "Rclone Not Installed" (yellow) | The tool that copies files isn't on the server | Click Install Rclone |
| "Cron is required for scheduled backups..." | Cron isn't installed; only manual backups will run | Click Install Cron |
| "Cron is installed but the service is not running" | Cron exists but is stopped | Click Start Cron Service |
| "Backup Shell Disconnected" | The session managing backups dropped | Click Reconnect |
If a banner is showing, fix it first. Most "backup didn't run" cases are one of these four.
Common problems and fixes
Quick checks before you ask for help
Most "the backup didn't run" reports turn out to be one of these:
| Symptom | Quick check |
|---|---|
| Nothing has run automatically | Cron alert at the top of the tab |
| One job fails, others succeed | Click the failing job and View Log |
| Test Connection fails | Region, bucket name, access key permissions |
| Backup ran but bucket is empty | Source path typo; log shows Transferred: 0 |
| Job hangs forever | Kill This Process, then check network to S3 |
When all else fails: gather details and ask
Before you reach out, collect:
| Info | Where to find it |
|---|---|
| Job name and the failing run's log | Expand the row → View Log → copy the text |
| Destination type and provider | The job's Destination Configuration card |
| Approximate timestamp of the failure | From the row's status |
| Server's date / timezone output | From the AI Terminal: timedatectl |
| Any banner currently showing on the tab | Top of the Backup tab |
Then bring it to:
- Discord community: discord.gg/hBmD2ZAf
- AI Assistant inside CtrlOps, paste the log and ask "why did this fail?". Rclone messages are dense but well-structured, the AI is good at translating them.
A failed backup is the same as no backup. Don't ignore the red status indicator, fix the cause and verify with a manual run before going back to your day.