bucketpilot
Backup & migration guides

How to copy Amazon S3 to a server you own

Keep an offline copy of an Amazon S3 bucket on a server you own, refreshed incrementally on a schedule, with the way back built in.

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

An offline copy of Amazon S3

Sometimes the copy should be on hardware you own: an offline archive, a local working set, or a way off a provider. This job pulls an Amazon S3 bucket onto a server over SSH and keeps it current.

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. Connect the AWS account with a one-click CloudFormation role you can revoke any time, or an access key with the minimal policy we publish. Then import the bucket under Buckets & Servers → Discover buckets, or create one there.
  2. 2.Connect the destination. Under Credentials → Servers, add the machine: host, port, a user, and its private key or password. BucketPilot connects over SSH/SFTP from one fixed address, 3.111.107.194, so a firewall can allow exactly that and nothing else. The host key is remembered on first use and checked on every connection after.
  3. 3.Open Backups & Migrations and press Create. Choose A bucket as the source and A server as the destination, then Continue.
The Create dialog: where from, where to
The Create dialog: where from, where to
  1. 1.Pick the source bucket, and a folder inside it if you want only part of it.
  2. 2.Pick the destination server and type the path where the files land.
  3. 3.Leave the schedule on manual for a one-time move, or set one if the source keeps receiving files and you want them to follow. 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

A server keeps one copy of each file. Files that changed at the source are copied again; files removed at the source stay on the server.

What it costs

Leaving Amazon S3AWS charges for data leaving S3 (after the first 100 GB a month, roughly $0.09 per GB, less at volume). Data staying inside the same region is free.
Storing at your serverYour own disk.
BucketPilotYour plan; no per-GB fee for the copy itself.

Getting files back

The job's Restore button copies files from the server back to the bucket they came from — only what is missing, never overwriting a newer file, never deleting anything.

Questions

Why copy a bucket to a server at all?
An offline copy on hardware you own, a local working set for a team, or a way off a cloud provider without a scripted download. Runs are incremental, so keeping it current costs little.
What will it cost?
AWS charges for data leaving S3 (after the first 100 GB a month, roughly $0.09 per GB, less at volume). Data staying inside the same region is free. Your own disk. 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 copy amazon s3 to a server today

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