Backup

Scheduled server backups. No scripts. No guessing.

No rclone config, no crontab, no wondering whether last night's job actually ran. Fill one form, test the connection before you save, and watch every byte move.

How It Works

How it works

Step 01 - You

Point.

Name the job, pick the folder, choose a bucket. One form, no rclone config.

Step 02 - Cron

Schedules.

Manual, an interval, or your own cron. CtrlOps writes the crontab for you.

Step 03 - It

Proves.

Live speed, files and ETA while it runs - then the full log of every run.

Same Backup, Two Ways

One of these ends with hope. The other ends with proof.

Both sides are setting up the same nightly copy of /var/www/html to S3. Left: install rclone, sit through the config prompts, write the cron line, and then find out nothing tells you whether it ran. Right: fill the form, test the connection, done. Watch which one still has a question at the end.

Setting up a backup with rclone and cron by hand versus in CtrlOps
Try it right here

This is the Backup tab. Go on, drive it.

A working copy, wired to a real little model of a server. Install the engine, fill the form, test the connection, watch a job run. Then point one at a path that does not exist, and watch it succeed anyway.

An interactive replica of the CtrlOps Backup tab

CtrlOps · Backup · root@203.0.113.17

Rclone Not Installed. It is the engine that moves your files. Nothing backs up until it is on the server.

0
Total Jobs
0
Active Running
Backup Configuration

Install rclone to get started.

Nothing here leaves your browser. In the app, files go straight from your server to your bucket - CtrlOps copies them off the box and shows you it worked. It does not pull them back, and it does not know what a database is.

Last night2 of 2 succeeded
daily_website
/var/www/html→ s3
Success
Files Transferred
1,284 / 1,284
Size Transferred
2.3 GB
Transferred: 2.345 GiB / 2.345 GiB, 100%, 5.2 MB/s, ETA 0s
nightly_assets
/var/wwww→ s3
Success
Files Transferred
0 / 0
Size Transferred
0 B
Transferred: 0 B / 0 B, -, 0 B/s, ETA -

One extra w in the source path. Six weeks of backups, all green, all empty.

The one that gets you

Two green badges. One of them copied nothing.

Neither badge is lying. rclone really did succeed both times - the second job just had nothing to copy, because the source path has a typo in it. A run that transfers zero files is still a successful run. That is not a bug, it is what exit 0 means.

A cron line would have told you nothing at all. No output, no status, no record - just a job that quietly does nothing every night until the day you need it. This is the single most common way a backup turns out not to exist.

CtrlOps will not page you about it - you still have to look. But the file count is on the row, the log is one click behind it, and Test Connection catches the other half before you ever save. That is the difference between visible in two clicks and invisible for six weeks.

Inside the form

Every field that matters, and what to put in it.

This is the rclone config you never have to write, laid out as a form. Six providers, a storage class for the stuff you hope to never open again, and three knobs for when the upload is slower than the wire.

From a real user

The feature you only notice when it is missing.

Nobody writes a paragraph about a job that runs at 2 AM and says nothing. One person brought backups up unprompted, so one person is what you get here - a wall of quotes about this would be the suspicious version.

G2

The infrastructure details and automated backups provided by CtrlOps are super useful. I appreciate that I don't have to manage separate panels for each server.

PS
Prince S.
Chief Technology Officer
Where your backups live

In your bucket. Not in ours.

Most backup services answer this question by taking custody of your data and charging you rent on it. CtrlOps never touches your files. It configures the copy, starts it, and shows you it worked.

Why your backups go to your own bucket and never through CtrlOps
Your server/var/www/html1,284 filesrcloneyour keys, directYour buckets3://acme-backupsyour account, your billWHAT THIS REPLACESTheir backup cloudyour data, their diskStorage you rent twicea bill that growsAn exit feeto get your own files

CtrlOps is not in the path

Your files go from your server to your bucket. rclone does the transfer, over your own credentials, directly. Nothing routes through us, so there is no copy of your data on our side to leak, subpoena, or lose.

Or store no keys at all

Access keys are stored encrypted. Better still, switch on Use IAM Role and there is nothing to store: the server already has permission to write to the bucket, and CtrlOps never sees a secret.

The bucket is yours

You pick the provider, the region, and the storage class. You get the bill, at their prices, with Glacier and Deep Archive on the table. Cancel CtrlOps tomorrow and every backup you have is still sitting where you put it.

What this is not

This gets a copy of your files off the server, on a schedule, and proves it. That is the whole job. "Backup" is a word people load with a lot of other expectations, so here are the edges:

  • It does not restore.CtrlOps gets a copy off the server. Pulling it back is your provider's console, the AWS CLI, or rclone copy the other way. Test that path yourself once a month - a backup you have never restored is only a rumour.
  • It does not rotate or prune.Sync mirrors the source, so deletions on the server become deletions in the bucket. Copy only ever adds, and grows forever. Ageing data out is a lifecycle rule in your bucket, not a setting here.
  • It does not know what a database is.It copies files. A live /var/lib/mysql caught mid-write is not something you can restore from. Dump it to a folder first, then back the folder up.
  • S3-compatible destinations only.Six providers today: AWS, Cloudflare R2, Backblaze B2, Wasabi, MinIO, DigitalOcean Spaces. No Dropbox, no Google Drive, no FTP. More destinations are on the way.
  • It needs rclone, and cron for schedules.Both install in one click from the Backup tab, but they do have to be on the server. Manual runs work without cron.

If you need orchestrated restores, point-in-time recovery, or database-aware snapshots, buy something built for that - it is a real category and this is not trying to be in it. What CtrlOps is for is the thing most servers are actually missing: nothing is copied off the box at all, and nobody has checked in months. When a run does fail, take the log line to the AI Terminal, or check Infra Monitoring if the disk filled up underneath it.

Backup FAQ

Questions before you need it.

Open CtrlOps, click your server, and go to the Backup tab. Click Create Job, name it, point it at a folder like /var/www/html, pick your S3 provider and bucket, and choose when it should run. CtrlOps writes the rclone config and the crontab for you. There is no rclone config to sit through and no cron syntax to remember, and you can test the connection before you save anything.
Six, all S3-compatible: AWS S3, Cloudflare R2, Backblaze B2, Wasabi, MinIO, and DigitalOcean Spaces. Destination Type currently offers S3-compatible storage only - there is no Dropbox or Google Drive option today, and more destinations are on the way. If your provider needs a custom endpoint, like MinIO or R2, there is a field for it.
Only for scheduled jobs. If you just want to click Run Backup yourself, Manual works with no cron at all. The Interval and Custom schedule options stay greyed out until cron is installed and running, and CtrlOps shows a banner with a one-click Install Cron or Start Cron Service when it is missing. Rclone itself is required either way, and it also installs in one click.
Sync mirrors the source exactly, which means it deletes anything at the destination that no longer exists on your server. Copy only ever adds files. Sync keeps the bucket tidy and matching, Copy is safer if you are worried about something being removed on the server by mistake - but a Copy destination grows forever, because CtrlOps does not prune old files for you.
Check the source path. A typo means rclone had nothing to copy, and a run that copies zero files still counts as a successful run - this is the single most common way a backup quietly does nothing for weeks. Expand the job and look at Files Transferred, or open the log: if it says Transferred: 0, the source path is the culprit.
The cron service has usually stopped. Open the Backup tab and look for a "Cron service is not running" alert at the top, then click Start Cron Service. It is also worth checking the time you set: schedules use the server timezone, not yours, so a 2:00 AM job runs at the server's 2 AM.
No. CtrlOps gets a copy of your files off the server and into your own bucket, on a schedule, and shows you that it worked. Restoring is done from your bucket - your provider's console, the AWS CLI, or rclone copy in the other direction. We would rather tell you that here than have you find out on the day you need it. It is also why we suggest pulling a few files down from the bucket yourself once a month: a backup you have never restored is only a rumour.
Not directly, and this one matters. CtrlOps copies files - it does not know what a database is. Copying a live /var/lib/mysql while the server is writing to it gives you files caught mid-write, and that is not something you can restore from. Dump the database to a folder first with mysqldump or pg_dump - the AI Terminal will write that command for you - then point a backup job at that folder. The dump is a consistent snapshot; the raw data directory is not.
Get started

Get a copy off the box. Tonight.

Point CtrlOps at a folder, test the connection, and let it run at 2 AM. No rclone config, no crontab. 1-month free trial, no credit card.

Start instantly· No credit card· No sneaky autorenewals