Restore to a S3 bucket?

Hi,

I have discovered Restic 2 weeks ago, and I am already a big fan.

Is it possible to restore a backup to a S3 bucket ? I have only found example to restore to a local disc in the doc : Restoring from backup — restic 0.14.0 documentation

Best regards

If you find a way to mount the S3 bucket such that it shows up as a filesystem on your computer, then yes, you can restore to that. Not directly with restic, no.

1 Like

hi, can you rclone to mount the s3 repo.
works on windows and linux.

let me you if you need assistance with rclone mount

Hi,

Yes, it would be very useful to me if you could explain how to mount a s3 repo with rclone.

Thanks

the first step is to install rclone.

on windows, there is no official installer.
can simply download it from https://rclone.org/downloads

on linux/macos/freebsd, use the installer - https://rclone.org/downloads/#script-download-and-install

then post the full output of rclone version.
based on that output, we can goto the next step.

Here is the output

$ rclone version
rclone v1.60.1

  • os/version: Microsoft Windows 11 Home 21H2 (64 bit)
  • os/kernel: 10.0.22000.1335 (x86_64)
  • os/type: windows
  • os/arch: amd64
  • go/version: go1.19.3
  • go/linking: static
  • go/tags: cmount

just curios, why not restore to local and then copy those files to s3?
as that is what i would choose to do.

to use rclone mount
the next step is to create and test a remote.
https://rclone.org/s3/#configuration

Good question. Because the data size is ~500GB, and I don’t have space on my laptop. So I would have to buy an extrenal dirve. After reading blogs and questions about that, the restoring to an external drive will take a lot of time (many hours), then pushing the data from the external to the S3 too. So, if it would be possible to mount the S3 and restoring from a S3 to another, it would be great.

sorry, not understanding?
where is the repo located, on local or s3?

what service are you using for s3, aws, wasabi or what?

tl;dr - not sure rclone mount as a dest for restic restore is a solution.
as you are low on free local storage

due do the way restic restore writes files,
rclone mount will have to use its local vfs file cache and that local cache will require local storage.

from restic
ignoring error for \D\files\test\1GiB\1G: write B:\rclone\mount\zork\D\files\test\1GiB\1G: The parameter is incorrect.

from rclone mount

ERROR : D/files/test/1GiB/1G: WriteFileHandle: ReadAt: Can't read and write to file without --vfs-cache-mode >= minimal

as of now, from rclone debug log, looks like restic is opening files as
DEBUG : D/files/test/2GiB/2GiB.file: Open: flags=O_RDWR|O_CREATE|O_EXCL

if restic restore would restore a dest file using O_WRONLY and without reading/seeking
then perhaps the rclone vfs file cache would not be required.

(Just get a VM from somewhere and the needed disk space (both if which is mostly paid by the time you use it), restore there locally and then push it to your destination wherever that is. It’s not rocket science really)

if the OP has skill and money, that is a good way to go
or
take that same money and purchase a cheap usb key

i think these settings could work, to keep the rclone vfs file cache as small as possible
rclone mount --vfs-cache-max-age=1m transfers=32

--vfs-cache-max-age=1m
once a file has been copied from the local rclone vfs file cache to s3,
it will be purged from the local cache after after one minute, instead of the default of one hour.

transfers=32
rclone will copy 32 files at the same time.

You can get a full month of a Hetzner shared CPX11 for 4,58 € + roughly 6€ for 500GB of SSD space if you only buy it for a week. (0,05236 €/GB/Month) with a gigabit uplink.

So no, you most likely won’t be better off by buying a cheap usb key.

If you deal with S3 and command line backup utilities you are probably more technically inclined than the average folk.

A solution to the main question in form of a workaround was already provided as well as an answer to whether Restic itself can do restores to S3 buckets directly.

rclone has a pretty solid documentation and also super nice people on their forum to help with anything related to it :slight_smile:

Folks, thank you very much for all your answers. I thought about my problem and my primary approach was not the good one. Using a VM with disk spaces to restore, then push the data into a S3 bucket sounds a good idea.

Again, thank you for your ideas and support !

i assumed that the OP was looking for a long-term solution, not a one-shot with a rented vm.
tho, in this case, i believe that rclone can get this done.

good choice, i use that to host an emby server.

yes, at rclone forum, i am
https://forum.rclone.org/u/asdffdsa

just brainstorming ideas to stay on windows, for someone not able to use linux.

can rent smb/samba storage and mount that as local storage as X:
azure has file share and hetzer has storage box.

then

  1. restic.exe restore s3:source x:\
  2. rclone.exe sync x:\ s3:dest