... 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.)
taris probably already included in your distrogfsplit,gfcombineare available fromsudo apt install libgfshare-binpar2create,par2verify,par2combineare 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).