My approach is a combination of
rsnapshot and
rsync.
Buy two external USB drives. Mount one on the server and use it for your rsnapshot destination. It'll incrementally hold daily/weekly/monthly backups in case of an internal drive failure.
Periodically mount the other drive and rsync a copy of your backup drive to it. Then take it off site as a last resort backup. Optionally you might want to encrypt the external drives (or at least the one you take off site) in case you lose it.
It's not the only option, you could certainly use some kind of online storage, but it does enough to put my mind at ease.
Hope that helps