Restoring files wouth restic

Hi,

This looks like a great project. I am considering using Restic.

My question is, can you restore files without the Restic binary? I am thinking worse case scenario.

Thanks.

No, you cannot. In your worst case scenario you should be able to plug in a USB stick or get an internet connection do download and run restic.

1 Like

Technically the answer is yes.

The restic software is the implementation of a program for writing and reading the restic repository format, which is intentionally clearly documented in this file in the source code repository for restic and its documentation: restic/design.rst at master · restic/restic · GitHub

This means that as long as you have this specification, you can write your own software that reads your backups and restore them. Hence the answer to your question is yes.

It all boils down to what you consider the definition of “can” to be :slight_smile: Regardless, the intention of @fd0 when he created restic was that the most important thing is a well documented and specified repository format, such that noone should be dependent on his own code, even 100+ years from now. Your worst case scenario is exactly what this addresses.

3 Likes

I am thinking worse case scenario.

Sticking my head out a bit, but to me this reads “I don’t have software on the box where I need to restore files on” and not whether I can write my own implementation of the restic repo format because the original source code of restic got deleted and the maintainers totally screwed me over doing that.
But here we are both interpreting what OP actually meant :stuck_out_tongue:

Well, since there’s nothing more specific, basically any interpretation will apply.

If the only specification we have to go by is them not having the actual restic binary, then it falls down to “is it possible to access/use/restore from a restic repository without having the restic binary”, and since there are ways to do that the answer is simply yes.

2 Likes

Yup, agree.

Note that there are other projects written in other languages than Go which are able to read a restic repository, namely rustic written in Rust (disclaimer: I’m the author of rustic) and phyrric written in Python.

1 Like

Thank you @moritzdietz @rawtaz and @alexweiss. Appreciate the responses.

WOW what a poorly written title :flushed:. That was a rush job. I am glad it could be deciphered.

My meaning was long term data security. As in, if I invested into Restic can I read back my backups 20 years from now. So @rawtaz wins this one :smiley:

Thanks all.

Just another side note about the answer of @rawtaz:

When I implemented rustic, I primarily worked with the referenced design document and this worked out really well, but it has some pitfalls:

2 Likes