Using rsync to back up your Linux system :: Opensource.com

One of the most important features of rsync is the method it uses to synchronize preexisting files that have changed in the source directory. Rather than copying the entire file from the source, it uses checksums to compare blocks of the source and target files. If all of the blocks in the two files are the same, no data is transferred. If the data differs, only the block that has changed on the source is transferred to the target. This saves an immense amount of time and network bandwidth for remote sync.

Source: Using rsync to back up your Linux system :: Opensource.com

Rsync is pretty handy. You can even get it to work on Windows if you want.