Outils pour utilisateurs

Outils du site


tuto:linux:photorec

Photorec

Photorec permet de récupérer des données effacées sur un disque dur.

Démarrer sur un live-cd, par exemple ubuntu.

Photorec fait parti du paquet testdisk.

Installer le paquet testdisk.

aptitude install testdisk
photorec

Tous les fichiers arrivent en vrac dans un répertoire.

Voici un script que j'ai réalisé pour les classer par extension :

#!/bin/bash

function copy_check_file_exist() {

	f=`echo "$line" | awk -F"/" '{ print $NF }'`

	if [ -e "${2}/$f" ] ; then
		rand=`head -c4 /dev/urandom | od -x | head -1 | awk '{ print "g"$2 $3 }'`
		#echo "$2/$f deja present"	
		echo "Fichier deja present ! Renommage de $f en ${rand}.$3"
		
		copy_check_file_exist "$1" "${2}/${rand}.$3" "$3"
	else
		echo "Copie de $1 vers $2 en cours ..."
		cp "$1" "$2"

		if [ "$?" -ne 0 ] ; then
			echo "$1" >> erreur.txt
		fi
	fi
}

out="sav_tri"

if [ ! -e collecte_tous_les_fichiers.txt ] ; then
	find SAV -type f -print0 | xargs -0 ls -l | awk '{ print $5"::"$8 }' > collecte_tous_les_fichiers.txt
fi

for line in `cat collecte_tous_les_fichiers.txt`
do
	ext=`echo "$line" | awk -F\. '{ print $NF }'`
	file=`echo "$line" | awk -F"::" '{ print $2 }'`
	size=`echo "$line" | awk -F"::" '{ print $1 }'`

	for check_ext in `echo gif jpg jpeg png doc dbx mp3 wma wav mpeg avi mpg`
	do
		if [ "$ext" = "$check_ext" ] ; then
			if [ "$size" -lt 50000 ] ; then
				if [ ! -e "${out}/${check_ext}/inf50K" ] ; then
					mkdir -p "${out}/${check_ext}/inf50K"
				fi	

				copy_check_file_exist "$file" "${out}/${check_ext}/inf50K" "$ext"
			else
				if [ ! -e "${out}/${check_ext}/sup50K" ] ; then
                                        mkdir -p "${out}/${check_ext}/sup50K"
                                fi

				copy_check_file_exist "$file" "${out}/${check_ext}/sup50k" "$ext"
			fi
		fi
	done
done
tuto/linux/photorec.txt · Dernière modification: 2009/09/20 23:27 par root