For smaller offices, I prefer rdiff-backup over rsnapshot (but both work well) combined with USB drives instead of tape drives.
Clients backup to a central server, each client has its own mount point and own file system (limits the possible damage if a backup client goes crazy since this is a push system). Inside that mount point, they create as many rdiff-backup directories as they need to.
Once per day the server checks the file system for a particular backup client (iterates through them in a random ordering), snapshots the logical volume (using LVM), then uses the read-only snapshot to rsync all of the content to the USB drive(s).
The nice part about this is that it can also easily send those backups offsite using rsync. The other nice part about rdiff-backup is that metadata (ownership, permissions, ACLs) get stored in regular files and you can store rdiff-backup directories on any file system without losing that information.
Once a week, someone at the office swaps the drives attached to the cables and takes the latest set home. I recommend at least (3) sets of drives, with a goal of getting of (10) sets.
The drives are easily encrypted with LUKS, you can use udev to attach/detach a block device under /dev/mapper with a LUKS keyfile stored in /root/something. Combine that with autofs to automatically mount the USB drives at a predictable point on the file system.
Downside is that it does take 20-30 minutes to setup a new USB backup drive. You have to format it with LUKS, set the passphrase, then attach the keyfile to it. Plus add the udev rules and autofs rules. But that time is worth it because even if someone loses a backup drive, the content is encrypted.
The udev/autofs tricks made it pretty easy for someone non-technical to swap out the drives every few days or every week.
If you use rdiff-backup - make sure you put /tmp on a SSD or dedicated 15k RPM spindle. When using the rdiff-backup verify commands, it has to create/read a lot of files in /tmp. We have a 300GB RAID-1 SSD pair on the server dedicated to the /tmp directory, which speeds up rdiff-backup a lot.