[Borgbackup] [IDEA] Add support for external commands

Marian Beermann public at enkore.de
Sun Oct 2 04:03:15 EDT 2016


On 02.10.2016 01:38, Melkor Lord wrote:
> On Sat, Oct 1, 2016 at 8:45 PM, Walker Traylor
> <wtraylor at areyouthinking.org <mailto:wtraylor at areyouthinking.org>> wrote:
>
>     "PS: I know we currently can do something like :
>     ssh user at host "do-stuff" | borg create /path/to/repo::name
>     but this lacks the more thorough controls borg could achieve by
>     wrapping all the process."
>
>     What more thorough controls do you require?
>
>
> Quite simple : if "do-stuff" fails for some reason, there's a lot of
> work to determine how to suppress the "failed" backup that Borg's going
> to make anyway.
>
> ssh user at host "echo '' ; /bin/false" | borg create /path/to/repo::test -
>
> see? Now there's a "test" backup which is empty and serves no purpose at
> all. Because of the pipe, I don't know that the ssh command failed. Borg
> didn't fail but I have no way to distinguish "test" between "legit but
> no new data" from "failed empty useless data" type of backup.
>

That's a good point.

I could imagine something like

borg create /path/to/repo::test --from-command "ssh user at host ..."

Which would execute that command (in a local shell) and put stdout into
an archive, while leaving stderr connected to stderr. If the
command/shell exits with a nonzero status, a rollback is made and no
backup would be created.

Cheers, Marian


More information about the Borgbackup mailing list