It's been cobbled together over the years to add things I want, like not backing up on battery, or sending a desktop message on success. When I set it up I couldn't figure out how to set up a timer, so it runs when I wake from suspend. I'd probably use a systemd timer in the future though.
I also should probably snapshot my file system before backing up since I'm running btrfs, but I never figured out how to do that either, and this works, lol.
Not an issue in most languages, but I'm using bash, so its more of a bother.