No description
Find a file
2019-01-12 14:39:20 +00:00
.vscode add vscode tasks 2018-12-22 16:08:49 +00:00
src Extract a repository concept 2019-01-12 14:39:20 +00:00
tests Extract a repository concept 2019-01-12 14:39:20 +00:00
.gitignore Ignore intellij files 2018-08-17 17:58:42 +01:00
Cargo.lock Extract a repository concept 2019-01-12 14:39:20 +00:00
Cargo.toml Extract a repository concept 2019-01-12 14:39:20 +00:00
LICENSE Initial commit 2018-08-14 19:59:05 +01:00
README.md Add motication to readme 2019-01-11 15:31:02 +00:00
rust-toolchain add toolchain 2018-12-20 16:47:22 +00:00
rustfmt.toml rustfmt config 2018-10-04 13:42:39 +01:00

Motivation: All the backup systems are either slow or crashing or both on my backup.

Tried duply:

  • works but very slow:
--------------[ Backup Statistics ]--------------
StartTime 1547198362.85 (Fri Jan 11 09:19:22 2019)
EndTime 1547209509.04 (Fri Jan 11 12:25:09 2019)
ElapsedTime 11146.19 (3 hours 5 minutes 46.19 seconds)
SourceFiles 3065438
SourceFileSize 585041709586 (545 GB)
NewFiles 0
NewFileSize 0 (0 bytes)
DeletedFiles 0
ChangedFiles 0
ChangedFileSize 0 (0 bytes)
ChangedDeltaSize 0 (0 bytes)
DeltaEntries 0
RawDeltaSize 0 (0 bytes)
TotalDestinationSizeChange 111 (111 bytes)
Errors 0
-------------------------------------------------

--- Finished state OK at 12:25:15.000 - Runtime 03:06:43.000 ---

Tried restic:

  • crashes with OOM

Goals for bakare:

  • fast
  • using max bandwidth
  • memory usage limit
  • encryption by default - asymmetric, creates a keypair for you
  • deduplication
  • fuzzy find by file name in stored files

Implementation:

  • hash -> file and file -> hash indexes
  • use vfs to store both db and data files, create a new one when old one too big
  • start with simple read file -> hash -> encrypt -?> send
  • test with randomly created dirs and files, with property based tests and fuzzer