HACKER Q&A
📣 rkagerer

How to maintain an identical "hot standby" Android phone


I'd like to buy two identical devices (eg. latest Pixel) and set one up to mirror the other - so if I accidentally drop one down a volcano I can grab the other and keep on rolling.

I want to keep everything on my own infrastructure, without relying on Google backup or the like. Sync needn't be realtime, nightly is fine. The devices should be kept as similar as possible - settings, apps, data etc. I'll only use one at a time (one "master"). In a perfect world my service provider, appstore platform, app publishers, etc. wouldn't be able to tell the difference (although I realize that might be asking too much). I don't mind using an alternate flavour of Android if needed eg. LineageOS, GrapheneOS, etc.

Has anyone accomplished this and gotten it working smoothly in practice? Any tooling you can recommend to help?


  👤 patrakov Accepted Answer ✓
Not generally possible.

Any application that stores any data in the Secure Element of the phone is, by design, not capable of being backed up, even with root. Examples include various bank apps that serve as 2-factor authenticators.

Without that, one of the possible solutions is to use NeoBackup on a rooted phone so it backs up everything daily to some external server on your infrastructure. It can be, for example, a NextCloud server.


👤 wjbolles
Most app data you cannot back up easily without root anymore. I used to use Titanium but stuff stopped working consistently even with root.

Settings and some apps aside, I otherwise basically do this myself. I keep my last model phone as the fallback and use Syncthing to copy pictures, SMS and call log exports, TOTP exports, Signal backups, and any other useful files automatically to it. Contacts and everything else is cloud already. Would take about 10 minutes to reimport and start using.


👤 graphe
Setup cloud services it connects to on your own infrastructure and you can just sync your contacts and get 99% of everything that way on any Android phone. I keep all my media online in a database and it's super convenient for any usage.

👤 someotherperson
You can replicate a lot of the data and apps as others have explained. But once you get to SIM cards it’s a different game.

The advice would change if you’re domestic (staying in the same country as your service provider) or international. If you’re domestic then eSIM is the way to go here, you can have a new one issued and activated fairly quickly. If you’re international you can either move to a VOIP provider or use some service (like a Matrix bridge) to share SMS messages across. VOIP would be your only real option for calls as well - both phones would just be SIP trunks and can be hot swapped or used simultaneously.


👤 childintime
So if you don't need to make calls (but use WhatsApp or similar instead), or have call forwarding options, consider using a backup phone with your SIM, which uses MacroDroid to forward your SMS to your email. Now your SIM stays safely at home and you can use burner SIMs on the road. Keep a 3rd phone as your backup ready to go.

👤 sandreas
I've successfully used MyPhoneExplorer[1] and immich[2] to perform "some" backup tasks (contacts + media).

There also was a free software used by phone repair shops that could clone the entire device... If I find out it's name again, I'm gonna post it here.

[1]: https://www.fjsoft.at/en/ [2]: https://github.com/immich-app/immich


👤 AndrewKemendo
No different than a hot-hot replication so just follow that pattern

I feel like this is better accomplished with a device snapshot-image that is regularly loaded onto a new device (daily? Hourly?)

Updating a device makes automation non trivial as you have to do something physical most likely and can’t just do it via API

You could even just skip acquiring the device until you need it given the idea that it may be years before you have this volcano situation. However that doesn’t meet your spec precicely

I would better define the idempotency interval you’re ok with losing data between and then using the method that updates the simplest at that frequency


👤 DistractionRect
Unlock bootloader, root with patched img, disable automatic updates, when an update comes out go through the steps of creating a rooted image and flash upgrade.

With root, some app to do backups and restores of system/app data (which is why you'd need root), + syncthing, you can probably get 99% of the way there.

Buuuut... You now have the problems of root, which means a lot of apps won't work out of the box, you'll have to do some per app config to hide root/unlocked bootloader from them, and that's only getting harder.

So tl;dr don't use smart features, and only deal with syncing calls/sms/photos. The rest you do via the browser.


👤 jhoho
LineageOS, CalyxOS and GrapheneOS all come with Seedvault which allows nightly remote backups. They're anything but complete, though. For folders, Syncthing might be interesting. I don't think it's possible without rooting your phone. Then, NeoBackup could do it.

👤 throwaway019254
I believe the big tech will grow even bigger in the future.

So all in TQQQ.