A common command-line program used is rsync. I will link to another post that I made with my rsync script in case it's helpful. It also includes my rclone script -- rclone is based on rsync but it is for cloud services instead of local backups. Here is the post: https://discuss.getsol.us/d/2118-backups/7
I don't automate it, but you can do something with cron jobs which I am not familiar with, but I understand it can run scripts on a schedule. Google cron jobs or another user here should be able to help.
If you are looking for GUI I am sure there are good options too, but I am not familiar.