Willy posted an article discussing how to recover lost data in Linux.
I just would like to add a few more software that you can try for this purpose:
1. [ Foremost ]
Developed by the United States Air Force Office of Special Investigations and The Center for Information Systems Security Studies and Research, this may prove very beneficial in time of trouble.
2. [ DDrescue ]
This is the tool to use when you have a hard disk which is dying and have a load of bad sectors in it.
The tools is fully automatic, just run it and it will try its best to recover your data. It’s loaded with features; such as automatic merging (when there are several copies of the file, it will merge them to get the most complete version of the file), and robust recovery system; when run multiple times, it may be able to recover more of your data.
It also has logfile feature, which enable it to continue from the last point if it was interrupted.
Thanks to Willy for his post.