... securely backing up data on m devices such that any n of them can be used together to recover the data. No need to remember passwords. No need to trust each individual device or environment.
./src/split.sh in out n m
archives input directory in
, splits it into m
parts of which n
are sufficient for recombination, and saves them including recovery files at out
.
./src/recombine.sh in out
repairs (if necessary) and combines parts from in
and outputs the result at out
.
(Note that you can hand more than 1 part to a single device if you trust it more than others. For example, you could store 2 parts on device A and 1 part on each of devices B and C, and require 3 parts for recovering your files.)
tar
is probably already included in your distrogfsplit
,gfcombine
are available fromsudo apt install libgfshare-bin
par2create
,par2verify
,par2combine
are available fromsudo apt install par2
- Archive the plain files
- Split the archive into m parts such that n of them together can recover the whole archive
- Protect the archive parts against data rot
- For i = 0 to m devices, manually move archive part k_i and its data rot protection files *.tar.[k_i]* to the i-th device
Steps 1 to 3 are executed by ./src/split.sh
. Step 4 has to be carried out by you.
- Collect n archive parts
- Verify the parts
- Recombine the archive from the parts
- Extract the archive
Step 1 has to be carried out by you. Steps 2 to 4 are executed by ./src/recombine.sh
.
Run ./scripts/test.sh
to run the bats
tests in a Ubuntu environment with the necessary libraries. Requires docker-compose
, which in turn requires super-user privileges (i.e. you will be prompted by sudo
).