Many years ago I accidentally deleted a lot of files on a Linux ext2 partition. At the time, there were no decent data recovery tools for ext2 filesystems available. So, I put the drive in an electrostatic protective bag and stored it in a safe place. Fast forward to the present, there is still nothing for Linux as good as Ontrack's EasyRecovery Professional. However, there is The Sleuth Kit, an amazing set of file and volume system forensic analysis tools. It is the best tool for data recovery because you can non-intrusively access deleted files.
Surprisingly, there is no batch recover for deleted data.
So, I wrote recoup.pl, a perl script to recursively extract every deleted file.
Point it at a directory and it will automatically reconstruct as much as Sleuth Kit's fls and icat commands will let it.