[Borgbackup] borg pull mode

Melkor Lord melkor.lord at gmail.com
Tue Mar 26 11:52:35 EDT 2019


On 26/03/2019 10:36, Thomas Waldmann wrote:

>>      I'm having a hard time understanding why this is not yet implemented in
>>      Borg (nor Restic for that matter).
> 
> This has already been discussed previously, check issue tracker and ML.

I've checked! It dates back to 2016 so I guess nobody in Borg's dev team 
is willing to work on that which is sad.

I was kinda hoping to raise a bit of interest again.

For my PoV, it does not seem hard to implement as quite everything is 
already there in Borg. If I'm not mistaken, it would consist of a new 
command for Borg ("pipe"?) that would listen to orders given by the 
master caller and just flow data back through the pipe to be stored.

- HostA >> (ssh) >> HostB (borg pipe)
   1/ Backup /this /that /etc.
   2/ Data is sent back to HostA through the pipe
   3/ HostA stores the backup data to the repo

A very simple language would be used to communicate back and forth the 
orders and their result.

Some checksum of the blocs on HostB is sent back to HostA to see if the 
same bloc already exists, so do not transmit, or is new/unknown, so flow 
it back to be stored. This is bandwidth efficient and does not require 
huge amounts of new development unless I'm sadly mistaken.

With the same idea, the repo keys are stored only on the backup server, 
transmitted only through the pipe when needed to do the actual backup. 
As already mentioned, the client does not know the repo key and can not 
contact the backup server in any way.

I really hope this gains a bit of interest and lands on the roadmap :-)

-- 
Unix _IS_ user friendly, it's just selective about who its friends are.


More information about the Borgbackup mailing list