Skip to content

You're reading the docs for v1.0, an older version. Read the latest docs

s3mirror documentation · v1.0.4

No vendor lock-in.
Copy what changed.

s3mirror copies every bucket on one S3-compatible endpoint to another. It compares objects by key and size, copies the ones that are new or a different size, and by default deletes what the source no longer has. --no-delete keeps a run copy-only.

$ brew tap netspeedy/s3mirror && brew install s3mirror
$ s3mirror --config config.yaml --no-delete

# after the connection checks, one section per bucket:
======================================================================
[1/2]: app-data
======================================================================
  Source: 4 objects
  Destination: 3 objects
  Actions: 3 to copy (100.8KB), 0 to delete
  ✓ Copied 3 objects in 0.0s (39.8MB/s)
  ✓ Bucket completed in 0.0s

# and the summary ends with
✓ Status: COMPLETED SUCCESSFULLY

Browse the docs

From a first copy-only run to every config key.

Getting started

Install it and run a first, copy-only mirror.

How mirroring works

What gets copied, what gets deleted, and why.

Guides

Configure it, schedule it, run it in a container.

Reference

Look something up.