UPDATE: This post has been added at easywebdns : recovering ext3 hard disks
So, here are the tools you need
1- Checking a linux partition for bad sectors / Bad Blocks without deleting the data
badblocks -o /path/somefiletowriteto.txt /dev/sdb1
this will do a check and write the bad block numbers to a text file
If you want it to test the disks hard but you are OK with deleting the data (Say after you dd_rescue), then try the -w switch
2- fsck /dev/sdb1 , the all famous, need i say more ?
3- tune2fs
tune2fs -O ^has_journal /dev/sdb1
remove the Journal (Converting ext3 to ext2 file system)
4- Mounting a disk: mount -t ext3 /dev/sdb1 /adirectory
5- debugfs <- use it in Read only more, this thing is like brain surgery, 1 mistake and your FS is playing chess in heaven with all the other dead disks
6- dd_rescue /dev/sdb1 /directory/mydisk.img
7- Running fsck on a disk image
fsck -y /path/mydisk.img
8- Mount the image
mount /pathto/backup.img /mountpoint/data
this is a nice link for you http://www.linuxjournal.com/article/193 that already has info about the stuff i mentioned here
Those are probably the most common, will add more when i remember them