I would consider two open-source solutions-
This is a very modular application/service but it will work consistently and easily once in place.
Pay attention to the last third of the link page below with the bullet point sections, as they scrape away to the real needs/features/shortfalls of Bacula.
Another open-source solution that can run on Linux, but the community addition lacks it's own gui. With the enhanced services and other like-products for sql and cloud, they really, really want you to spend a few bucks on them- they seem pretty geared towards being profitable. Still it's a good application that's been around for years and has a community addition.