Timeshift is a very common tool for backing up and creating restore points.
For dot file management, I personally back up my dot files to a locally hosted server, but I used to have a private git repo for this on GitHub. Then I put together a simple bash script to automate placing the dot files