I have autocron jobs that sync various server directories to a daily backup (on the same server), then sync that backup once a week to the weekly backup, and once a month take a tarball snapshot of the weekly backup.
Every once in a while I plug in a HDD on USB and take a Borg backup of the monthly dir. Borg does compression and deduplication (and encryption if you want to). I should be doing this also once a week but sometimes I’m lazy and leave a few weeks between them.