zpaq is a journaling, incremental, deduplicating archiver for Windows
and Linux.
"Journaling" means that when you update a file or directory, both the
old and new versions are saved. You can extract from the archive as
it existed at any time in the past. "Incremental", means that when you
back up your entire hard drive, for example with:
zpaq -add e:backup.zpaq c:\*
only those files whose last-modified date has changed since
the previous backup are added. For 100 GB of files, this
typically takes 1-2 minutes, vs. a few hours to create the first
version. "Deduplicating" means that identical files or fragments are
stored only once to save time and space.