BackupPC is a free and versatile backup suite that can run on Linux systems and supports several protocols like NFS, SSH, SMB, and rsync. It can be used to backup numerous Linux, Mac, and Windows machines. It has a lot of nice features like automatic backups and a web interface as its control panel. It also uses file compression and hard links to try and minimize the amount of space that your backups consume. Thus if a file is present on multiple machines, BackupPC is smart enough to only store a single copy of that file in the backup.