eXdupe is backup tool that performs data deduplication at a record breaking 900 MB/s (3 TB/hr) on 8 cores. Example of differential backup:

  exdupe z:\database\ database.full Backup 2,000 GB. Results in a 1,200 GB database.full file and takes 57 minutes
exdupe -D z:\database\ database.full database.diff1 Backup again next day. Results in a 65 GB database.diff1 file and takes 44 minutes
exdupe -D z:\database\ database.full database.diff2 Backup again next day. Results in a 65 GB database.diff1 file and takes 44 minutes
exdupe -RD database.full database.diff2 z:\database Restore backup from database.diff2 and database.full

You can also utilize deduplication in a simple file archiver style, outperforming gzip, bzip2, pigz, WinRAR, lzop, 7-Zip, etc, second-to-none for speed and compression ratio:

  exdupe server1\ server2\ server3\ server4\ vmdks.full
 
Backup 400 GB of virtual machines into just 80 GB because they share many data blocks in form of
common system and application files

It uses the sliding window class of deduplication which yields the best compression ratio in all use cases. Only 64-bit systems are supported, and only Windows 2008, Vista and 7.

November 2011: Released 0.3.3 BETA. Need to tweak it, add a feature or fix a bug? exdupe-033-source.zip. eXdupe will be payware when the beta phase ends, with the source code available under restricted and non-permissive terms.

x64 exdupe.exe 033-linux-x64.tar to come 033-freebsd-x64.tar to come to come 033-macos-x64.tar
POWER           to come  
SPARC 017-linux-sparc.tar to come
Itanium     017-hpux-itanium.tar        
 
   
 
 
 
    full backup:

       [-arcqtpmg] [-f] [-s] <sources> <destination>
       [-arcqtpmg] <-stdin> <filename to assign> <destination>

       <destination> can either be -stdout or a file. Use .full as file extension

    Differential backup:
       -D[arcqtp] [-f] [-s] <sources> <.full file> <destination>
       -D[arcqtp] <.full file> <-stdin> <filename to assign> <destination>

       <destination> can either be -stdout or a file. Use .diff as file extension

    Restore full backup:
       -R[fq] <.full file> <destination directory> [files]
       -R[fq] <-stdin> <destination directory>

       [files] is one or more files, drives or directories to restore, typed as
       provided by -L flag

    Restore differential backup:
       -RD[fq] <.full> <.diff file> <destination directory> [files]
       -RD[fq] <-stdin> <.diff file> <destination directory>

       [files] is one or more files, drives or directories to restore, typed as
       provided by -L flag

    List contents:
      -L <.full file | .diff file>

    Flags:
        -r Do not include sub directories
        -o Overwrite existing files (default is to abort)
        -c Continue if a source file cannot be read or does not exist (default is
           to abort)
        -p Include named pipes
        -l On *nix: Follow symlinks (default is to store link only). On Windows:
           symlinks are always followed - storing link only is not supported
        -a Store absolute and complete paths (default is to remove the common
           parent path of items passed on the command line)
    -s"d:" Use Volume Shadow Copy Service for local drive d: (Windows only)
     -f"s" Filter files using a script, s, written in the LUA language
       -gn Use n GB memory for a hash table (default = 1). Use -mn to specify
           number of MB instead. Use 1 GB per TB data for best compression ratio
           Differential backups will use the same memory as the full backup
       -tn Use n threads/cores (default = 6)
       -vn Use verbose level n for n = 0...9 (default = 7)
        -- Prefix items in the <sources> list with " --" to exclude them.
copyright 2011 eXdupe.com