mirror of
https://github.com/jkl1337/duplicacy.git
synced 2026-01-07 14:14:50 -06:00
Compare commits
9 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
0d8d691664 | ||
|
|
7abcd5b45e | ||
|
|
1d4979cde4 | ||
|
|
79ccd78a3b | ||
|
|
51a99d9a2c | ||
|
|
2b8e9a1f11 | ||
|
|
8c76154a21 | ||
|
|
3a46779a58 | ||
|
|
f0ff4a3ec1 |
@@ -137,7 +137,7 @@ hasn't been found, the next file, if there is one, will be read in and the chunk
|
|||||||
files were packed into a big tar file which is then split into chunks.
|
files were packed into a big tar file which is then split into chunks.
|
||||||
|
|
||||||
The *content* field of a file indicates the indexes of starting and ending chunks and the corresponding offsets. For
|
The *content* field of a file indicates the indexes of starting and ending chunks and the corresponding offsets. For
|
||||||
instance, *fiel1* starts at chunk 0 offset 0 while ends at chunk 2 offset 6108, immediately followed by *file2*.
|
instance, *file1* starts at chunk 0 offset 0 while ends at chunk 2 offset 6108, immediately followed by *file2*.
|
||||||
|
|
||||||
The backup procedure can run in one of two modes. In the default quick mode, only modified or new files are scanned. Chunks only
|
The backup procedure can run in one of two modes. In the default quick mode, only modified or new files are scanned. Chunks only
|
||||||
referenced by old files that have been modified are removed from the chunk sequence, and then chunks referenced by new
|
referenced by old files that have been modified are removed from the chunk sequence, and then chunks referenced by new
|
||||||
@@ -210,6 +210,6 @@ Chunk content is encrypted by AES-GCM, with an encryption key that is the HMAC-S
|
|||||||
|
|
||||||
The snapshot is encrypted by AES-GCM too, using an encrypt key that is the HMAC-SHA256 of the file path with the *File Key* as the secret key.
|
The snapshot is encrypted by AES-GCM too, using an encrypt key that is the HMAC-SHA256 of the file path with the *File Key* as the secret key.
|
||||||
|
|
||||||
There four random keys are saved in a file named 'config' in the file storage, encrypted with a master key derived from the PBKDF2 function on
|
These four random keys are saved in a file named 'config' in the file storage, encrypted with a master key derived from the PBKDF2 function on
|
||||||
the storage password chosen by the user.
|
the storage password chosen by the user.
|
||||||
|
|
||||||
|
|||||||
1
GUIDE.md
1
GUIDE.md
@@ -160,6 +160,7 @@ OPTIONS:
|
|||||||
-fossils search fossils if a chunk can't be found
|
-fossils search fossils if a chunk can't be found
|
||||||
-resurrect turn referenced fossils back into chunks
|
-resurrect turn referenced fossils back into chunks
|
||||||
-files verify the integrity of every file
|
-files verify the integrity of every file
|
||||||
|
-stats show deduplication statistics (imply -all and all revisions)
|
||||||
-storage <storage name> retrieve snapshots from the specified storage```
|
-storage <storage name> retrieve snapshots from the specified storage```
|
||||||
```
|
```
|
||||||
The *check* command checks, for each specified snapshot, that all referenced chunks exist in the storage.
|
The *check* command checks, for each specified snapshot, that all referenced chunks exist in the storage.
|
||||||
|
|||||||
20
README.md
20
README.md
@@ -1,10 +1,12 @@
|
|||||||
# Duplicacy: A new generation cloud backup tool
|
# Duplicacy: A new generation cloud backup tool
|
||||||
|
|
||||||
This repository contains only binary releases and documentation for Duplicacy. It also serves as an issue tracker for user-developer communication during the beta testing phase.
|
Duplicacy is a new generation cross-platform cloud backup tool based on the idea of [Lock-Free Deduplication](https://github.com/gilbertchen/duplicacy-beta/blob/master/DESIGN.md). It is the only clould backup tool that allows multiple computers to back up to the same storage simultaneously without using any locks (thus readily amenable to various cloud storage services).
|
||||||
|
|
||||||
## Overview
|
The repository hosts design documents as well as binary releases of the command line version. There is also a Duplicacy GUI frontend built for Windows and Mac OS X downloadable from https://duplicacy.com. The source code of the command line version is available to the commerical users of the Duplicacy GUI version upon request.
|
||||||
|
|
||||||
Duplicacy supports major cloud storage providers (Amazon S3, Google Cloud Storage, Microsoft Azure, Dropbox, and BackBlaze) and offers all essential features of a modern backup tool:
|
## Features
|
||||||
|
|
||||||
|
Duplicacy currently supports major cloud storage providers (Amazon S3, Google Cloud Storage, Microsoft Azure, Dropbox, and Backblaze) and offers all essential features of a modern backup tool:
|
||||||
|
|
||||||
* Incremental backup: only back up what has been changed
|
* Incremental backup: only back up what has been changed
|
||||||
* Full snapshot : although each backup is incremental, it must behave like a full snapshot for easy restore and deletion
|
* Full snapshot : although each backup is incremental, it must behave like a full snapshot for easy restore and deletion
|
||||||
@@ -14,7 +16,7 @@ Duplicacy supports major cloud storage providers (Amazon S3, Google Cloud Storag
|
|||||||
* Concurrent access: multiple clients can back up to the same storage at the same time
|
* Concurrent access: multiple clients can back up to the same storage at the same time
|
||||||
* Snapshot migration: all or selected snapshots can be migrated from one storage to another
|
* Snapshot migration: all or selected snapshots can be migrated from one storage to another
|
||||||
|
|
||||||
The key idea behind Duplicacy is a concept called **Lock-Free Deduplication**, which can be summarized as follows:
|
The key idea of **Lock-Free Deduplication** can be summarized as follows:
|
||||||
|
|
||||||
* Use variable-size chunking algorithm to split files into chunks
|
* Use variable-size chunking algorithm to split files into chunks
|
||||||
* Store each chunk in the storage using a file name derived from its hash, and rely on the file system API to manage chunks without using a centralized indexing database
|
* Store each chunk in the storage using a file name derived from its hash, and rely on the file system API to manage chunks without using a centralized indexing database
|
||||||
@@ -153,7 +155,7 @@ Storage URL: azure://account/container
|
|||||||
|
|
||||||
You'll need to input the access key once prompted.
|
You'll need to input the access key once prompted.
|
||||||
|
|
||||||
#### BackBlaze
|
#### Backblaze
|
||||||
|
|
||||||
```
|
```
|
||||||
Storage URL: b2://bucket
|
Storage URL: b2://bucket
|
||||||
@@ -161,7 +163,7 @@ Storage URL: b2://bucket
|
|||||||
|
|
||||||
You'll need to input the account id and application key.
|
You'll need to input the account id and application key.
|
||||||
|
|
||||||
BackBlaze offers perhaps the least expensive cloud storage at 0.5 cent per GB per month. Unfortunately their API does not support file renaming, so the -exclusive option is required when pruning old backups. This means concurrent access and deletion can't be permitted at the same time.
|
Backblaze offers perhaps the least expensive cloud storage at 0.5 cent per GB per month. Unfortunately their API does not support file renaming, so the -exclusive option is required when pruning old backups. This means concurrent access and deletion can't be permitted at the same time.
|
||||||
|
|
||||||
## Comparison with Other Backup Tools
|
## Comparison with Other Backup Tools
|
||||||
|
|
||||||
@@ -195,6 +197,10 @@ The following table compares the feature lists of all these backup tools:
|
|||||||
| Encryption | Yes | Yes | Yes | Yes | Yes | **Yes** |
|
| Encryption | Yes | Yes | Yes | Yes | Yes | **Yes** |
|
||||||
| Deletion | No | No | Yes | Yes | No | **Yes** |
|
| Deletion | No | No | Yes | Yes | No | **Yes** |
|
||||||
| Concurrent Access | No | No | Exclusive locking | Not recommended | Exclusive locking | **Lock-free** |
|
| Concurrent Access | No | No | Exclusive locking | Not recommended | Exclusive locking | **Lock-free** |
|
||||||
| Cloud Support | Extensive | No | No | No | S3 only | **S3, GCS, Azure, Dropbox, BackBlaze**|
|
| Cloud Support | Extensive | No | No | No | S3 only | **S3, GCS, Azure, Dropbox, Backblaze**|
|
||||||
| Snapshot Migration | No | No | No | No | No | **Yes** |
|
| Snapshot Migration | No | No | No | No | No | **Yes** |
|
||||||
|
|
||||||
|
|
||||||
|
##License
|
||||||
|
|
||||||
|
Duplicacy is free for personal use but any commercial use must be accompanied by a valid [subscription](https://duplicacy.com/buy.html). This applies to both the CLI and GUI versions.
|
||||||
|
|||||||
Reference in New Issue
Block a user