Backup Storage Prices

Duplicacy to cloud storage: what daily backups cost at each vendor, pruning included

Prices checked · Duplicacy's user guide read

For a 1 TB Duplicacy storage backed up every day and pruned every week, OVHcloud Object Storage Infrequent Access costs least: $60.10 a year with one full restore, that is $4.67 a normal month and $8.73 the month you bring everything back, with what pruning adds counted. At Wasabi, use Duplicacy's wasabi backend: through its s3 backend the same storage costs $116.64 a year instead of $103.56.

Pruning renames each chunk before it deletes it. When prune finds a chunk no backup needs, "instead of deleting the chunk file immediately, it changes the name of the chunk file", and the next prune deletes it. S3 has no rename, so "the s3 storage backend renames objects with a copy and delete which is inexpensive for AWS but more expensive for Wasabi. Use the wasabi backend for it to be handled properly." Each copy is a new object, so at a vendor with a minimum storage period its clock starts again: the copy is deleted a week later and billed for the rest of the period. The table counts it. Duplicacy, Lock free deduplication · Duplicacy, Supported storage backends

Every vendor for a Duplicacy storage, cheapest year first

One row per vendor: its cheapest class you can read back at once, with prune's two-step deletion as Duplicacy runs it by default, 11 normal months and the month you restore all 1 TB. The next column is the same class with prune -exclusive, which deletes at once.

Storage for a 1 TB Duplicacy backup pruned weekly, ranked by the year with one full restore
#Offer, and where it keeps the chunksYear with one restoreNormal monthWith prune -exclusiveMonth you restoreChecked
1 OVHcloud Object Storage Infrequent Access France (Gravelines) $60.10 $4.67Pruning adds $0.36 $4.26 $8.73
2 IDrive e2 United States (Virginia) $72.84 $6.07 $6.00 $6.07
3 Backblaze B2 Cloud Storage United States (US West) $83.52 $6.96 $6.88 $6.96
4 Storj Standard Distributed worldwide $99.40 $7.70Pruning adds $0.27 $7.35 $14.70
5 Wasabi Hot Cloud Storage United States (US East 1) Priced through Duplicacy's wasabi backend, which renames without a copy $103.56 $8.63Pruning adds $0.64 $8.72 $8.63
6 Tigris Archive Instant Retrieval Automatic location $118.26 $7.52Pruning adds $2.28 $5.50 $35.54
7 Oracle OCI Object Storage Infrequent Access United States (Ashburn) $135.87 $10.54Pruning adds $0.85 $9.59 $19.93
8 DigitalOcean Spaces Cold Storage United States (New York 3) $145.08 $12.06Pruning adds $0.47 $11.52 $12.42
9 Filebase Object Storage Distributed worldwide $169.56 $14.13 $13.97 $14.13
10 Cloudflare R2 Standard Automatic location $182.16 $15.18 $15.00 $15.18
11 Amazon S3 Glacier Instant Retrieval United States (Northern Virginia) $207.34 $8.17Pruning adds $2.28 $5.97 $117.47
12 Google Cloud Storage Coldline United States (South Carolina) $208.86 $6.90Pruning adds $1.82 $5.17 $132.96
13 Azure Blob Storage Cold LRS United States (East US) $209.33 $7.86Pruning adds $2.30 $5.64 $122.87

"Pruning adds" is what deleting chunks younger than a class's minimum storage period costs each month, and, where the class bills each GB read, reading the chunks the rename copies. Classes that make each file wait to be restored are left out. The bills are for the s3 backend's copy and delete at every vendor but Wasabi; Duplicacy's guide does not say how its b2, azure, gcs and storj backends rename, so those are priced the same way. At Wasabi, -exclusive costs more, not less: it deletes each chunk a week younger, further inside the minimum period.

Price your own Duplicacy storage

The calculator opens on this storage's chunks, uploads and monthly check. It does not count pruning's copies and minimum-stay charges, which the table above adds.

Vendors not ranked, and why

  • Akamai Cloud Object Storage: not confirmed. It costs $243.01 a year before any minimum-stay charge, but its pricing names no minimum storage period, so what pruning a chunk at a week or a month old costs is not confirmed.
  • Hetzner Object Storage: not confirmed. It costs $97.20 a year before any minimum-stay charge, but its pricing names no minimum storage period, so what pruning a chunk at a week or a month old costs is not confirmed. If it has none, it would rank 4th here.
  • Scaleway Object Storage: not confirmed. Standard One Zone costs $120.00 a year before any minimum-stay charge, but its pricing names no minimum storage period, so what pruning a chunk at a week or a month old costs is not confirmed. If it has none, it would rank 7th here.
  • Telnyx Cloud Storage: not confirmed. Regular Storage costs $67.08 a year before any minimum-stay charge, but its pricing names no minimum storage period, so what pruning a chunk at a week or a month old costs is not confirmed. If it has none, it would rank 2nd here.
  • Vultr Object Storage: not confirmed. Standard costs $219.02 a year before any minimum-stay charge, but its pricing names no minimum storage period, so what pruning a chunk at a week or a month old costs is not confirmed.

What Duplicacy asks of the bucket in a month

Requests3 backendwasabi backendWith prune -exclusive
Looking a new chunk up before uploading it11,92111,92111,921
Uploading it11,92111,92111,921
The monthly check -chunks downloading it11,92111,92111,921
Copying a pruned chunk to its new name11,92100
Deleting23,84211,92111,921

Duplicacy cuts files into chunks that are "4M bytes on average", each stored as its own object, so 1 TB is about 238,419 objects. Before uploading a chunk it does "a file lookup" by the chunk's name, so a chunk another computer already uploaded is never sent twice. duplicacy check on its own "only verifies the existence of chunks"; with -chunks it downloads "each chunk once" and remembers it, so a monthly check downloads only that month's new chunks. Duplicacy, Chunk size · Duplicacy, check

Pruning without losing a backup

  1. Run each new prune rule with -dry-run first: it "is guaranteed not to make any changes on the storage, not even creating the local fossil collection file". This page keeps 30 days: duplicacy prune -keep 0:30, run every 7 days.
  2. Use -exclusive only when one computer writes to the storage. It deletes "immediately", without the renames, and Duplicacy warns: "Only run -exclusive when you are sure that no other backup is running, on any other device or repository."
  3. At Wasabi, choose the wasabi backend when you add the storage. Duplicacy's guide also notes that Wasabi's 90-day minimum means "there is no financial incentive to reduce utilization through early pruning of snapshots", and its Wasabi example keeps every snapshot younger than 90 days.
  4. On Backblaze B2, if several computers back up to one bucket, Duplicacy recommends leaving the bucket's lifecycle setting on "Keep all versions of the file", the default.

Duplicacy, prune · Duplicacy, Supported storage backends

Test a restore in a second folder

  1. Make an empty folder and run duplicacy init there with the same repository id and storage URL as the computer you back up. Duplicacy's guide: "if you pass the same repository id to Duplicacy, Duplicacy will think it is the same repository and allow you to restore files".
  2. Restore a recent revision there: duplicacy restore -r 12, with the revision you want, and open a few files. Never run a backup from that folder: it would back up the test copy under your computer's id.
  3. The monthly duplicacy check -chunks downloads and checks each new chunk once. Its first run has checked nothing yet, so it downloads every chunk, about 1 TB here, and that month costs close to the month you restore: about $8.73 at OVHcloud Object Storage Infrequent Access instead of $4.67. Later runs download only the new chunks. Downloading a whole storage to check every file, as -files does, is billed like a restore every time.

Duplicacy, Restore to a different folder or computer. What bringing everything back costs at each vendor is the month-you-restore column above.

On Windows, Mac and Linux

Duplicacy's command line comes for Windows, macOS, Linux and FreeBSD (version 3.2.5's downloads). The bills above are the same on each: the bucket receives the same chunks.

For files another program holds open, add -vss to the backup: on Windows it turns on the Volume Shadow Copy service, and on a Mac with an APFS drive an APFS snapshot, "such that files opened by other processes with exclusive locks can be read as usual". It does not work on Linux. On Windows the backup must run as administrator: "you’ll need to run as administrator", Duplicacy's author answers.

duplicacy backup -vss

Duplicacy, backup command details · Duplicacy forum, using VSS on Windows · Duplicacy 3.2.5 downloads

The storage URL Duplicacy takes at each vendor

Duplicacy's list does not name Akamai Cloud Object Storage, Cloudflare R2, Filebase, Hetzner Object Storage, IDrive e2, Oracle OCI Object Storage, OVHcloud Object Storage, Scaleway Object Storage, Telnyx Cloud Storage, Tigris, Vultr Object Storage. Each has an S3 API: use the s3 backend with the vendor's S3 endpoint as the host, s3://region@endpoint/bucket/path, as the guide's DigitalOcean example does.

Duplicacy command line 3.2.5, released . Duplicacy, Supported storage backends · Duplicacy on GitHub

How the bills are worked out

A 1 TB Duplicacy storage of chunks averaging 4 MiB, about 238,000 objects. A daily backup adds 50 GB of new chunks a month, about 11,900 uploads, each after a lookup; a monthly duplicacy check -chunks downloads those new chunks once. Snapshots are kept 30 days and duplicacy prune runs weekly, so each month 50 GB of chunks is pruned at about 30 days old: renamed to fossils, which the next prune deletes, and which keep about 12 GB more stored meanwhile. The month you restore, all 1 TB comes back over the internet, one download per chunk.

Each bill comes from the vendor's own published rates through the same engine as the calculator, checked on the date beside it. Through the s3 backend a pruned chunk is copied at about 30 days old and its copy deleted 7 days later; through the wasabi backend the chunk itself is deleted at about 37 days; with -exclusive at 30. A class with a minimum storage period bills the days left on each.

Related: other backup tools and their storage · minimum storage periods explained · storage for a restic repository · storage for a Kopia repository

Duplicacy's pages behind this one