|Original author(s)||Antonio Diaz Diaz|
|Initial release||12 August 2004|
|Stable release||1.17 / 15 July 2013|
|License||GPL (Free software)|
GNU Ddrescue is a data recovery tool. It copies data from one file or block device (hard disk, cdrom, etc.) to another, trying hard to rescue data in case of read errors. GNU ddrescue is a C++ program that was initially released in 2004 and is now in most GNU/Linux distributions.
GNU ddrescue is not a derivative of dd, nor is related to dd in any way except in that both can be used for copying data from one device to another. The difference is that ddrescue uses a sophisticated algorithm to copy data from failing drives causing them as little additional damage as possible.  GNU ddrescue has the most sophisticated block-size-changing algorithm available in OSS,   is considered an essential data recovery tool,   and is used even by professionals. 
If you use the logfile feature of ddrescue, the data is rescued very efficiently, (only the needed blocks are read). Also you can interrupt the rescue at any time and resume it later at the same point.
Ddrescue does not write zeros to the output when it finds bad sectors in the input, and does not truncate the output file if not asked to. So, every time you run it on the same output file, it tries to fill in the gaps without wiping out the data already rescued.
Automatic merging of backups: If you have two or more damaged copies of a file, cdrom, etc., and run ddrescue on all of them, one at a time, with the same output file, you will probably obtain a complete and error-free file. This is so because the probability of having the same area damaged in all copies is low. Using the logfile, only the needed blocks are read from the second and successive copies.
Ddrescue recommends lzip for compression of backups because the lzip format is designed for long-term data archiving and provides data recovery capabilities which nicely complement those of ddrescue. (Ddrescue fills unreadable sectors with data from other copies, while lziprecover corrects corrupt sectors with data from other copies). If the cause of file corruption is damaged media, the combination ddrescue + lziprecover is the best option for recovering data from multiple damaged copies.
Ddrescue also features a "fill mode" able to selectively overwrite parts of the output file, which has a number of interesting uses like wiping data, marking bad areas or even, in some cases, "repair" damaged sectors. 
- "GNU ddrescue Manual". The GNU project. Retrieved 6 September 2013.
- "Disk drive recovery: ddrescue, dd_rescue, dd_rhelp". John Gilmore. Retrieved 6 September 2013.
- "Damaged Hard Disk". www.cgsecurity.org. Retrieved 6 September 2013.
- "Best Data Recovery Tools - Top 10 List". Geekyprojects. Retrieved 6 September 2013.
- "12 essential system recovery tools". PC Plus Issue 303 22nd Jan 2011. Retrieved 6 September 2013.
- "gnu ddrescue to the rescue!". Jelsoft Enterprises Ltd. Retrieved 6 September 2013.
- "Ddrescue - Data recovery tool". The GNU project. Retrieved 6 September 2013.