bucketpilot
Backup & migration guides

How to back up a Windows server to Cloudflare R2

Scheduled, incremental backups of a Windows server to a Cloudflare R2 bucket, with restore built in — set up in a few clicks, no scripts.

Backups & Migrations: every job that copies data, in one list

Why back up a Windows server to Cloudflare R2

A Windows server is durable, but durable is not backed up: a deletion, an overwrite, a bad script or a lost credential all replicate perfectly. A backup is a separate copy — on Cloudflare R2 — refreshed on a schedule and restorable from. That is what this job is.

Before you start

This job runs on the Business plan (Cloudflare R2 and Google Cloud Storage buckets, Azure sources and server destinations are Business features). Every account starts with a 14-day trial of Pro; see plans.

Credentials: every account and server BucketPilot can reach
Credentials: every account and server BucketPilot can reach

Step by step

  1. 1.Connect the source. Enable the built-in OpenSSH Server on Windows (Settings → Apps → Optional features), then under Credentials → Servers add the machine with a user and its password or key. Paths are written the Windows way, C:\Data\Exports, and BucketPilot connects from one fixed address, 3.111.107.194.
  2. 2.Connect the destination. Create an R2 API token with Object Read & Write on the Cloudflare dashboard and add it under Credentials. Then import the bucket under Buckets & Servers, or create one there.
  3. 3.Open Backups & Migrations and press Create. Choose A server as the source and A bucket as the destination, then Continue.
The Create dialog: where from, where to
The Create dialog: where from, where to
  1. 1.Pick the server and type the source path — the folder whose contents you want, for example /var/www/uploads or C:\\Exports. Tick *put the folder itself in the destination* if you want the folder name kept.
  2. 2.Pick the destination bucket and, if you like, a folder inside it where the files land.
  3. 3.Set the schedule — hourly, daily, weekly or monthly, at the time you choose. Daily at night is the usual answer. Choose how many files copy in parallel (threads); eight is a good default for a busy server.
The form for a server or Azure source
The form for a server or Azure source
  1. 1.Press Create Job, then Run now. The first run copies everything; every run after it copies only what changed.

What happens on each run

Every run is incremental: a file is copied only if its size or timestamp differs from the copy, so a nightly run of a large source moves only the day's changes and finishes in minutes.

Files are streamed from source to destination — multi-gigabyte files never sit in memory, and a run that is paused or loses its worker resumes where it stopped.

You can watch it: live progress on the job, a per-file log, and an email when a run finishes or needs attention. Transient errors retry with backoff; a run that fails outright is reported, never silently skipped.

A job's page: progress, per-run history, and the way back
A job's page: progress, per-run history, and the way back

Cloudflare R2 has no object versioning, so the copy holds the latest version of each file. Nothing is ever deleted at the destination by a backup, so a file removed at the source stays in the copy until you remove it yourself.

What it costs

Leaving your serverYour server's own bandwidth; nothing is billed by BucketPilot for it.
Storing at Cloudflare R2R2 is billed per GB-month at a flat rate, with an Infrequent Access class for data you rarely read.
BucketPilotYour plan; no per-GB fee for the copy itself.

Getting files back

Every job has a Restore button: it copies from the destination back to the source, only what is missing there, never overwriting a newer file and never deleting anything. A backup you cannot restore from is not a backup, so this is part of the job, not a separate product.

Questions

How often should I back up a server?
Daily is the usual answer; hourly if the source changes all day. Runs are incremental, so a more frequent schedule costs little more than a rare one.
What will it cost?
Your server's own bandwidth; nothing is billed by BucketPilot for it. R2 is billed per GB-month at a flat rate, with an Infrequent Access class for data you rarely read. BucketPilot charges by plan, never per GB copied.
What about very large files?
Files are streamed in parts and resume after an interruption. Files of any size move to and from a server; single objects over 5 GB to a bucket are copied as one object today.
Does BucketPilot keep my files?
No. Your files are copied from your source to your destination and are not stored by BucketPilot. We keep metadata — names, sizes, timestamps — to run the job and to make the copy searchable. Credentials are encrypted at rest.

Related

Set up back up windows server to cloudflare r2 today

Full Pro access for 14 days. No card. Connect an account in seconds.