I recently put my backup strategy to the test upgrading from Lineageos 20/Android 13 on a Oneplus 8pro to Lineageos 21/Android 14 on a Pixel 8pro, so can claim it works - mostly. Rooted OS in both cases.

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.