Prior to Google automatically backing up everything, I used Titanium Backup.
Syncthing synchronises these backups to my home server automatically, as well as the phone's user data (photos, mainly).
The photos are additionally sent to Photoprism.
I avoid Google's cloud as much as I can.
App backup? who cares? This was a chance for me to see what's new on F-Droid and it's been great (lookin' at you keyboard.futo.org).
I back up my photos using termux, rsync, and rsync.net. This model seems pretty solid. I should extend it to app data, but I don't have an automated way to back up app data yet. It's just a thing I have to do when I think of it, which is a recipe for disaster.
I'm taking syncthing out of the picture. I was using it to share markdown, html and some graphics between devices and my phone, but I regularly end up diffing .conflict files. I hope to get better behavior from Nextcloud.
Still, I'm the same happy guy I was before December 30 so I think a few manual app data back-ups, back-ups for non-photo content to Nextcloud so I can share it between devices more easily, and the same old rsync stuff for photos should work great.
It's a mess and I don't understand that Google hasn't fixed that.
After dismounting it in the Settings app (Advanced menu), I plug it into my computer and copy any files over I want to store there too (e.g., Pictures).
On my phone, the Nextcloud app is installed, and that takes care of the photo/video/downloaded file "cloud" sync, and DAVx5 takes care of calendar, contacts, todo. Nextcloud, with additional apps, can also do Kanban, multimedia notes.
The rest is lost, or I consider it that way.
If I have some special files I use autosync, but no "backup", just sync to the cloud
https://wiki.termux.com/wiki/Remote_Access
and apps I use the internal Google mechanism.
- connect to my network: Wireguard (encrypted tunnel)
- keep out unwanted content: Adaway (hosts-based content blocker), AFWall (firewall configuration)
- access control to my own and other services: Aegis (TOTP app, configuration is synced to the server)
- access services on my own server: Nextcloud (sync), DavX5 (contacts, agenda), K9 (mail), Conversations (messaging), DSub (audio), Antennapod (netcasts, syncs with gpodder on Nextcloud), Audiobookshelf (audio book player), M.A.L.P (controls several MPD instances around the premises), zmNinja (Zoneminder viewer, used for video surveillance around the farm), Timelimit (access controls for my 13yo daughter's devices), Librera Reader (eBook reader, connects via OPDS to archive on server)
- add the few proprietary applications needed: BankID (Swedish electronic ID), DigiD (Dutch electronic ID), DB Navigator (German railway app), NS reisplanner (Dutch railway app), Västtrafik To Go (Swedish railway app for western Sweden). These all connect to accounts on remote services and do not keep local state so backups are not needed, for the first two backups are not even useable on other hardware since their state is directly connected to the IMEI and/or IMSI of the local device.
Once configured I make a backup in the recovery (TWRP, PBRP etc) which I sync to the server. After that I only make backups after more radical changes to the device, e.g. when I install a new distribution. The rationale for this is that it is always possible to recreate the device from 'scratch' by following the above steps, these are scripted for a number of devices. All personal data ends up on the server (currently a DL380 G7 running Proxmox) which gets backed up daily. If and when a device breaks or gets lost in some way I can recreate it after repairing or replacing the hardware and firmware.
Apart from the mentioned proprietary apps there is no data leakage outside of my own network.
We really need more folks to hack on their phones and set/spread a good example.
Otherwise "general computing" will be replaced by landlords.
The concept of a landlord may be traced back to the feudal system of manoralism (seignorialism), where a landed estate is owned by a Lord of the Manor...
Backblaze costs me about $100/year for the ~2TB of data I store there.
I got my LTO-6 drive for free from my employer after we upgraded to LTO-8.
I got a 20-pack of new LTO-6 tapes from eBay for $100, and have no idea what to do with the remaining 42.5TB of space. I guess after several years of rotating my existing tapes, I should start using new ones.
adb pull /sdcard/ /path/to/backup
I use kde connect to backup the first two, and store keys at time of creation instead of scanning QR code for the last one.
Which then gets into my NAS / 3-2-1 manual backup process.
Anything interesting I download, pdfs etc periodically I'll backup to the NAS before I retire a phone. Anything that's not photos I just assume are destroyed when I upgrade and that's fine I don't keep anything else on my phone.
The NAS for backing up my desktop has been very freeing, dumping my Documents folder to the network and installing a fresh copy of Linux or whatever is very freeing.
Everything else like contacts, sms, software backups goes to the cloud.
If I change phone I log into Google, start from scratch and download the apps I need / log in wherever I need the first time I need to.
I'm not very happy with using Google / Gmail for contacts and as a login manager, I've been postponing de-googling for 5+ years. The only promise I made to myself is that I'm not giving them a cent (and I keep living with 3% free space).
Everything else is backed up through their respective services, such as Gmail, and I just don't have an interesting enough digital life to have much else to backup.
Git works fine with Termux.
I also took that setup to allow me to sync some selected media back from the NAS to my phone.
This way I am not reliant on cloud services as the primary store of my personal data, and I don't have to use their export tools to get my data back. I back up the original sources directly from the phone to my own infrastructure.
It pretty much just works with little manual involvement.
MyPhoneExplorer is Windows only but works via wifi.
I'm thinking about switching to nextcloud / ente.io but this will take some time.
Another thing I'd like to check out is KDE connect.
Google's own backup service for normal backups. When I was rooted I used titanium backup but that was ages ago.
And then a lot of apps that have data that I care about have an export/import functionality, so I can just copy those over without much hassle.
Additionally I sync my calendar and contacts with davx. Same as before, backup is done on the server itself.
I don't see the point making a backup of installed apps and their local config.
Everything else is either account-based, or can backed up using Seedvault (a backup solution integrated into AOSP, and therefore present in GrapheneOS)
Google photos for images, and a periodic download to my computer of original sized images (then backed up to other locations).
Any other data worth storing is placed in my persona Nextcloud instance (backed up via BorgBackup to an offsite location multiple times a day).
Probably the most difficult to solve for is Google Photos. Google offers 15 GB, and this gets filled up really fast if you take a lot of photos and videos. I don't, but still with every phone upgrade I've tried to move all files over to my new device, which results in space running out quite quickly. On top of that, Photos is actually _really_ nice. It works seamlessly, and offers features like facial recognition out of the box.
Anyway, I tried 3 different options - Nextcloud, Syncthing, and Immich.
Nextcloud was a little too complicated to setup, even with docker. Wasn't impressed by it.
Syncthing had an issue with Android app support. I think there are a couple of forks, but I didn't want to rely on that.
Immich was what I finally settled on. It is photos/videos specific, so doesn't work as a general purpose backup but I was more than happy just solving for this. My Google storage was being used roughly half and half by Email and Photos. Solving for half was good enough! On the plus side, Immich is a really impressive Google Photos replacement, and behaves almost exactly the same as the Google app, and has advanced features like facial recognition, dupe detection etc.
For email, contacts, SMS etc, I'm still relying on native Google backup.
Finally, there was Whatsapp. I had disabled Google backup a while ago, but wanted to preserve the photos from it. For that, I configured Immich to sync the whatsapp images folder with my library, and that's been working perfectly well.
Restoring took about 15 minutes. It restores everything from apps data to system settings.
Used to do complete system mirrors with lower level backup solutions, but gave up, when I realized, that I won't be restoring it to a phone anyways.
It has the similar feel to iTunes for the iphone.
So it's a shitshow as usual with Android, it all depends on the app. My weight lifting app it can backup on Google cloud. Great. My 2Fa on the other hand it only backup to the 'external' storage, need to transfer it to the computer then. Some app don't have backup option. Some app give backup option but then break when you restore it, like moon reader. Some books just disappeared from the backup.
And so on, and so on.
At the end I focus on photo, obsidian vault and 2fa. Everything else is just bonus if I backed it up.
Story from a few years back: I have an old Samsung Galaxy I needed to migrate off of. As I recall, the only way to back up all the important data without involving trusted cloud infra was unlocking the bootloader and using TWRP. Don't recall if rooting was also part of the process - I think I wanted to back up before attempting rooting and later actually reflash it. Somehow I think I managed to trip a hardware fuse in the process because the device bricked and I'm not sure if I will ever be able to get at that data or if it's already gone forever...
Especially infuriating that what caused the full data loss was an attempt to back it up!
I'm so done with combating malicious manufacturers and OSs.
phones are treated as disposables
including all data around it
simpler that way
For contacts, I use DAVx⁵ to sync with a Nextcloud install on my NAS. All my family's phones do this and it makes it super easy to add and edit contacts sitting at the desktop instead of in the phone (I hate typing on the phone and avoid it where I can).
For calendar I use Google calendars. Again, whole family uses and we share via that. If I was to shift I would probably look at DAVx⁵ and Nextcloud like contacts, but syncing when away from the home network may be more of an issue here. (Business Calendar is my preferred calendar app currently - although I believe they may have switched to a subscription model since I bought it.)
Messages and call logs are backed up by Swift Backup (more on that below).
I'm a Bitwarden user so that takes care of passwords and TOTP.
I use Foldersync to do a two-way sync of photos (the DCIM folder, and other photo folders) between my phone and the NAS via SFTP, when on the home wifi. It does a really good job of this I've found.
For actual application backups I use to use Titanium Backup which I'd previously found very good. Unfortunately it appears to no longer be maintained as the last update in the Play store was 2019 and it definitely does not work with Android 13 and later.
These days I have three different backups running. I started with Neo Backup which is okay although instability earlier in its development made me want an alternative. That's when I came across Swift Backup which has a bit more of a solid feel to it. At some point I saw a Lineageos blog post about Seedvault so turned that on too. The backup files for all three are sent to my NAS via Foldersync just like photos.
I'm going to be away from home for five weeks later this year and am pondering if I want to stress about off-phone backups for that time. I might look at using Folder Sync to some other target, or think about using Syncthing Fork. That said, a five week old backup is probably going to be 95% okay to maybe not worry too much.
--
So how was restoring? It was still painful to be honest.
The good:
Seedvault restored the data on probably half my apps. Could not really figure out the whys as to which it did and which it didn't. It was disappointing in that regard.
I can't remember if it was Seedvault or Swift Backup, but restoring messages was not a drama.
Most other apps I could restore from either Swift Backup or failing that, Neo Backup.
The Bad:
Some account details, mainly the DAVx⁵ ones, I had to re-enter again by hand. Fortunately I've documented the URLs and configuration settings this time to make it easier in the future.
I still had to go through each app and check it was working as expected and had my data. Sometimes had to completely uninstall the Seedvault version and restore from Swift Backup or Neo Backup to get the data. I think a couple of apps I had to install fresh from the Play store or F-droid before doing just a data restore, or there was no way to restore data.
All in all it was a lot of frigging about.
Lessons learned:
Redundancy is good! I would recommend Swift Backup and at least one other backup - be it Seedvault, Neo Backup, Google or another option.
Doing a comprehensive restoration is time consuming! There is no click-and-restore-the-whole-phone solution which is a pain.
Currently, root access seems to be needed for even a decently reliable backup.
And before you ask: I've used Magisk in the past, but have tried out Apatch which fills a similar role with hte new phone and feels a bit easier to deal with. That, along with chiteroman/PlayIntegrityFix gets Google Wallet and some other apps working for me, but it is an annoying arms race.
I also use Netguard as my network firewall - don't have a phone without one. Used Afwall+ on my previous phone but was flaky on the new one so went with the second choice.
Pretty reliable and you only need it once )