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.
| # | Offer, and where it keeps the chunks | Year with one restore | Normal month | With prune -exclusive | Month you restore | Checked |
|---|---|---|---|---|---|---|
| 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 | | $83.52 | $6.96 | $6.88 | $6.96 | |
| 4 | | $99.40 | $7.70Pruning adds $0.27 | $7.35 | $14.70 | |
| 5 | | $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 | | $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
| Request | s3 backend | wasabi backend | With prune -exclusive |
|---|---|---|---|
| Looking a new chunk up before uploading it | 11,921 | 11,921 | 11,921 |
| Uploading it | 11,921 | 11,921 | 11,921 |
The monthly check -chunks downloading it | 11,921 | 11,921 | 11,921 |
| Copying a pruned chunk to its new name | 11,921 | 0 | 0 |
| Deleting | 23,842 | 11,921 | 11,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
- Run each new prune rule with
-dry-runfirst: 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. - Use
-exclusiveonly 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." - 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.
- 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.
Test a restore in a second folder
- Make an empty folder and run
duplicacy initthere 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". - 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. -
The monthly
duplicacy check -chunksdownloads 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-filesdoes, 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
- Amazon S3:
s3://[email protected]/bucket/path - Azure Blob Storage:
azure://account/container - Backblaze B2:
b2://bucketname - DigitalOcean Spaces:
s3://[email protected]/bucket/path(for New York 3) - Google Cloud Storage:
gcs://bucket/path, ors3://storage.googleapis.com/bucket/path - Storj:
storj://satellite/bucket/path - Wasabi:
wasabi://[email protected]/bucket/path
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
- Init command details, Duplicacy forum, user guide, read
- Chunk size details, Duplicacy forum, user guide, read
- Lock free deduplication algorithm, Duplicacy forum, user guide, read
- Check command details, Duplicacy forum, user guide, read
- Prune command details, Duplicacy forum, user guide, read
- Supported storage backends, Duplicacy forum, user guide, read
- Restore to a different folder or computer, Duplicacy forum, user guide, read
- Backup command details, Duplicacy forum, user guide, read
- Using VSS when backing up files (Windows), Duplicacy forum, answer by Duplicacy's author (gchen), read
- Release v3.2.5, GitHub, read