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 : de root
