When I remember to backup, I use unison to sync between external drives, rsync to sync within the network, and git to sync to an offsite server (smaller files only).