I have a "rolled-my-own" solution which leverages Amazon AWS. Though this is kind of a mess of scripts, I like it for many, many reasons. First of which is that AWS is VERY cheap. You can also use the Glacier service (offline "tape?" backup) to make it even cheaper. You can set it up to automatically "destage" stuff over time from the "hot" (more expenseive) S3 tier to the cheaper glacier. It also has facilities for automatic versioning. One of the (oddly) most important things, is that you can specify very fine-grained permissions. For example, most of my machines only have key which are sufficient for *adding* more backup content. i.e. they cannont overwrite, delete or even read existing content. This is particularly important when things like ransomware attacks will try to compormize existing data. There is also the case where either ransomware or accidental actions wind up wiping/changing/corrupting files, whch are then backed-up, compromizing the backups (classic problem with using a "mirror" as a backup). I also have scripts which do incremental and full backups at different intervals, and others which "prune" out old backups after an extended period of time. Another good AWS thing is the ability to specify what kind of reliability you need - and also the ability to migrate/mirror/copy data to servers in DIFFERENT geographic regions. All said, it took some doing, but it is VERY cheap, safe, and extremely robust.