Timeshift is essentially a gui on top of rsync anyway, if you look at what it's doing behind the scenes.
That's the reason why I chose to learn rsync. I was frustrated with Timeshift. It failed to restore some changes multiple times. It gave me issues with docker. It also had default excludes that were annoying to change as well.
I then learned how to make a complete system backup with rsync itself. /, /boot/ and /boot/efi/ has to be done on separate rsync commands. Basically one command per partition.
A restore involves flipping the source and destination in the rsync command. It also allows me to boot into a live USB and perform a restore in the event that I really mess up and can't perform a restore normally through the installed OS.
By leaving behind the GUI, I got a lot more flexibility. It's also a lot more reliable and I've had a lot less restore issues.