Restic for Android

#1
  1. Is there a version of restic for Android?
    It would be awesome if i could backup my phone to my cloud repo.

  2. I didn’t happen to see one, so i wonder – how difficult would it be to compile the app on Android? would it be possible to backup the phone’s root directory (say, in terms of permissions)?

Thanks!

0 Likes

#2

One option would be to run Syncthing on Android and sync to one of your home computers, then run restic on your computer against the synced directory.

1 Like

#3

Besides the @cdhowie option, you can also use restic with Termux. I’ve tried it (not extensively) and it works.

Edit: I think I got to work the arm64 version if I’m not mistaken but you have to make sure to give Termux permissions to storage. If you have your phone rooted, I think it could be possible to backup the root directory; if not, you can access to /storage/emulated/0 and backup everything there which could be more than enough since that’s the directory that contains basically everything. Also, you can use cd .. in Termux and right there you should find home and usr directories. Navigate to /usr/bin and put the restic binary there for convenience.

2 Likes

#4

Thanks @cdhowie for referencing Syncthing. It seems like an elegant syncing solution.

However, i am looking for a distributed client-to-cloud backup architecture so that each client (whether it is a computer, a phone, a tablet, etc), could periodically backup independently of the rest. I find it much more attractive than turning one of the machines into, essentially, a storage-hungry backup server, which also needs to be regularly turned on.

0 Likes

#5

Thanks @Dj0k3, i will give it a try!

I wonder – is there a technical/other reason that an Android installation of restic has yet to arrive? Instead of using an emulator… AFAIK there are not so many effective and cheap Android backup solutions. IMHO, this could be it! I’m curious to hear what do you think.

0 Likes

#6

Yeah, Android without root doesn’t have to many options for backup. And still, the backup options available are like… outdated? A little weird to work with them, that’s for sure. But since you can backup all your pictures using the Google Photos and use Drive to backup your settings, I think maybe developers don’t see the point. Personally, I don’t backup my phone. I just backup the pictures and Google Photos is nice for that but the downside is that if you opt for storing the original pictures then it takes space from your Drive and if you decide to use the “unlimited” option, then you lose the original resolution.

It would be great if someone decides to develop a restic frontend for Android, but I’m no developer or anything related; just another user.

1 Like

#7

The way restic works can be pretty demanding on the hardware. Even if you’d manage to compile restic for Android it’s uncertain if restic would properly work on low end or middle class smarphones. But I guess we’ll never find out as long as nobody tries it out. :smiley:

2 Likes

#8

I read this and tried it. As @Dj0k3 pointed out, using Termux and downloading the arm64 version worked for me. I’m impressed, really. It worked as expected, 2GiB 20 minutes to backup. In my case, I didn’t had to install anything besides restic and openssh, configure a ssh key and that’s it. Just like in my laptop. Didn’t get any errors. Checked the backup and it is all there. I will continue using it for my pictures.

2 Likes

#9

Nice, glad to hear that it worked! Note that as the repository grows, the amount of RAM needed by restic (even just to perform a backup) can increase. If you find that restic starts crashing because it’s out of memory, then you’ve just hit that ceiling on your phone.

2 Likes

#10

Yes, indeed. Lucky for me, I don’t have a lot in my repo. Just like 200GiB (raw-data) and I don’t really expect for this to increase much. Maybe over the years, but hopefully by that time restic team would have figure out something to improve the RAM issue.

0 Likes

#11

Note that the amount of data is not as important as the number of objects, which incidentally scales linearly with the size of the indexes. On this Github issue, I determined that at least on OP’s system, the ratio of index-size to peak-memory-use is approximately 1:8 (for restic check).

1 Like