- Use rsync or equivalent for transfer to speed things up
 - Keep rotating versions of backups
 - Don't duplicate files unless needed on the backup host (using hard links)
 - Can be configured from a text file
 
The script should run on any *nix machine with rsync. It should work with any *nix backup host as well, but you will need shell access to the backup host. You will also need to configure the user running the script for password-less login.