dd_rescue copies data from one file or block device to another. It is intended for error recovery, so by default, it doesn't abort on errors and doesn't truncate the output file. It uses large block sizes to quicken the copying, but falls back to small blocks upon encountering errors. It produces reports that allow you to keep track of bad blocks. dd_rescue features a number of optimizations, such as sparse block detection, preallocation, and Linux zerocopy (splice). It supports data protection by (multi-pass) overwriting of files or partitions with good and fast random numbers.
|Operating Systems||POSIX Linux|
Release Notes: This version includes a plugin interface (that allows analysis or transformation of data prior to being written) an MD5 plugin, the use of posix_fadvise(), and the output of only short usage info on incorrect input parameters.
Release Notes: Refactoring allows for better runtime and build time feature detection, resulting in support for building against Android (NDK) and in fast AVX2 sparse block detection. This version also brings a new option -u/--rmvtrim that removes a written (typically zero-filled) file again after completion and issuing an fstrim operation.
Release Notes: The -p/--preserve option now also copies extended attributes (including ACLs) if there are any. Many checks and test cases have been added to make check. Half-empty blocks are now detected now in sparse detection. If copying with an odd file offset, the odd-sized write will be done first so that further accesses should be better aligned, which should help with performance (and optionally sparse detection).
Release Notes: The main change is a fix for a bug where the last block could have appended zeros if hardbs==softbs (bnc #833765). Beyond that, ARM sparse detection has been sped up a bit (~15%), and the man page has a clarification w.r.t. the meaning of -y. autoconf is now used to detect platform features to help portability.
Release Notes: This release brings some further optimization of the SSE2 sparse block detection (adding 40% performance). There's also code for AVX2, but it's disabled, as it couldn't be tested. There's a test case for the 1.35/1.36 bug now that can be run by make check. ETA and curr.rate have been improved a bit (floating averages), and the --force/-f switch gained the capability to override a non-zero output position for non-seekable ouput files.