Version 1.0
Auteur :Srijan Kishore
Ce didacticiel vous aidera à récupérer des données à partir de données supprimées accidentellement à partir de systèmes de fichiers Linux. Il s'agit d'une erreur très grave de la part de tout utilisateur/administrateur qui coûte d'énormes pénalités. Ce script sera une aubaine pour les débutants/experts en gestion de données. Je vais utiliser TestDisk pour la récupération de données. Ici, j'ai simplifié la tâche à l'aide d'un script.
1. Contexte
TestDisk est un puissant logiciel gratuit de récupération de données. Supposons que vous ayez un lecteur ext3/ext4 qui a planté/supprimé avec rm -rf ou shift+delete comme les commandes, avec l'aide de TestDisk, vous pouvez récupérer les données/fichiers.TestDisk peut être utilisé pour
- Réparer la table de partition
- Récupérez les fichiers des partitions FAT, exFAT, NTFS et ext2/ext3/ext4
Outre ces fonctions, TesdDisk possède plusieurs fonctionnalités pour la maintenance/gestion des données
2. Exigence
J'utilise Ubuntu12.04 LTS sur lequel je vais installer le TestDisk et implémenter le script de récupération de données sur un lecteur en panne. Ce script fonctionne bien avec le système d'exploitation Ubuntu. Même s'il arrive que l'un des disques durs soit supprimé, connectez simplement le disque dur à la machine Ubuntu et exécutez le script pour récupérer les données.3. Scénario
#!/bin/bash ####################################################################################################### ####################################################################################################### ####################################################################################################### ###### ####### ###### ####### ###### This script will help you to recover the accidentally ####### ###### deleted data from crashed linux file systems ####### ###### Script created by (Srijan Kishore) ####### ###### ####### ###### ####### ####################################################################################################### ####################################################################################################### ####################################################################################################### # User Check if [ "$USER" = 'root' ] then gdialog --title "User Check" --msgbox "User is root, you can execute the script successfully." 200 150 echo "User is root, you can execute the script successfully" else gdialog --title "User Check" --msgbox "User is not Root. Please run the script as root user." 200 150 echo "User is not Root. Please run the script as root user." exit 1 fi # Check your operating system cat /etc/debian_version >> /dev/null if [ "$?" = 0 ] then echo "You are using ubuntu/debian" gdialog --title "Your Operating System" --msgbox "You are using ubuntu/debian" else gdialog --title "Your Operating System" --msgbox "You are not using debian/ubuntu.You can download the TestDisk from this link http://www.cgsecurity.org/wiki/TestDisk_Download" echo "You are not using debian/ubuntu. You can download the TestDisk from this link http://www.cgsecurity.org/wiki/TestDisk_Download" fi # Installing Testdisk testdisk /version >> /dev/null if [ "$?" = 0 ] then echo "Testdisk already installed" else echo "Installing Testdisk" apt-get update apt-get upgrade apt-get --force-yes -y install testdisk gdialog --title "Success" --msgbox "Testdisk installed successfully" 100 50 fi # Set backup directory mkdir -p /root/result/lostfiles #Run the recovery program photorec /d /root/result/lostfiles # Filters files user=`ps aux | grep gnome-session | grep -v grep | head -1 | cut -d " " -f1` mkdir "/home/$user/recovered_output" mkdir "/home/$user/recovered_output/Debians" mkdir "/home/$user/recovered_output/rpms" mkdir "/home/$user/recovered_output/conf_files" mkdir "/home/$user/recovered_output/exe" mkdir "/home/$user/recovered_output/binaries" mkdir "/home/$user/recovered_output/Docs" mkdir "/home/$user/recovered_output/Pdfs" mkdir "/home/$user/recovered_output/Mbox" mkdir "/home/$user/recovered_output/Images" mkdir "/home/$user/recovered_output/Videos" mkdir "/home/$user/recovered_output/Sound" mkdir "/home/$user/recovered_output/ISO" mkdir "/home/$user/recovered_output/Excel" mkdir "/home/$user/recovered_output/Presentation" mkdir "/home/$user/recovered_output/Web_Files" mkdir "/home/$user/recovered_output/Archives" mkdir "/home/$user/recovered_output/Others" #Sorting the Recovered data find /root/result/ -name "*.doc" -type f -exec mv {} "/home/$user/recovered_output/Docs/" \; find /root/result/ -name "*.docx" -type f -exec mv {} "/home/$user/recovered_output/Docs/" \; find /root/result/ -name "*.odt" -type f -exec mv {} "/home/$user/recovered_output/Docs/" \; find /root/result/ -name "*.pdf" -type f -exec mv {} "/home/$user/recovered_output/Pdfs/" \; find /root/result/ -name "*.mbox" -type f -exec mv {} "/home/$user/recovered_output/Mbox/" \; find /root/result/ -name "*.png" -type f -exec mv {} "/home/$user/recovered_output/Images/" \; find /root/result/ -name "*.jpg" -type f -exec mv {} "/home/$user/recovered_output/Images/" \; find /root/result/ -name "*.jpeg" -type f -exec mv {} "/home/$user/recovered_output/Images/" \; find /root/result/ -name "*.gif" -type f -exec mv {} "/home/$user/recovered_output/Images/" \; find /root/result/ -name "*.avi" -type f -exec mv {} "/home/$user/recovered_output/Videos/" \; find /root/result/ -name "*.mpeg" -type f -exec mv {} "/home/$user/recovered_output/Videos/" \; find /root/result/ -name "*.mp4" -type f -exec mv {} "/home/$user/recovered_output/Videos/" \; find /root/result/ -name "*.mkv" -type f -exec mv {} "/home/$user/recovered_output/Videos/" \; find /root/result/ -name "*.webm" -type f -exec mv {} "/home/$user/recovered_output/Videos/" \; find /root/result/ -name "*.wmv" -type f -exec mv {} "/home/$user/recovered_output/Videos/" \; find /root/result/ -name "*.flv" -type f -exec mv {} "/home/$user/recovered_output/Videos/" \; find /root/result/ -name "*.mp3" -type f -exec mv {} "/home/$user/recovered_output/Sound/" \; find /root/result/ -name "*.wav" -type f -exec mv {} "/home/$user/recovered_output/Sound/" \; find /root/result/ -name "*.deb" -type f -exec mv {} "/home/$user/recovered_output/Debians/" \; find /root/result/ -name "*.bin" -type f -exec mv {} "/home/$user/recovered_output/binaries/" \; find /root/result/ -name "*.exe" -type f -exec mv {} "/home/$user/recovered_output/exe/" \; find /root/result/ -name "*.rpm" -type f -exec mv {} "/home/$user/recovered_output/rpms/" \; find /root/result/ -name "*.conf" -type f -exec mv {} "/home/$user/recovered_output/conf_files" \; find /root/result/ -name "*.iso" -type f -exec mv {} "/home/$user/recovered_output/ISO/" \; find /root/result/ -name "*.xls" -type f -exec mv {} "/home/$user/recovered_output/Excel/" \; find /root/result/ -name "*.xlsx" -type f -exec mv {} "/home/$user/recovered_output/Excel/" \; find /root/result/ -name "*.csv" -type f -exec mv {} "/home/$user/recovered_output/Excel/" \; find /root/result/ -name "*.ods" -type f -exec mv {} "/home/$user/recovered_output/Excel/" \; find /root/result/ -name "*.ppt" -type f -exec mv {} "/home/$user/recovered_output/Presentation/" \; find /root/result/ -name "*.pptx" -type f -exec mv {} "/home/$user/recovered_output/Presentation/" \; find /root/result/ -name "*.odp" -type f -exec mv {} "/home/$user/recovered_output/Presentation/" \; find /root/result/ -name "*.html" -type f -exec mv {} "/home/$user/recovered_output/Web_Files/" \; find /root/result/ -name "*.htm" -type f -exec mv {} "/home/$user/recovered_output/Web_Files/" \; find /root/result/ -name "*.jsp" -type f -exec mv {} "/home/$user/recovered_output/Web_Files/" \; find /root/result/ -name "*.xml" -type f -exec mv {} "/home/$user/recovered_output/Web_Files/" \; find /root/result/ -name "*.css" -type f -exec mv {} "/home/$user/recovered_output/Web_Files/" \; find /root/result/ -name "*.js" -type f -exec mv {} "/home/$user/recovered_output/Web_Files/" \; find /root/result/ -name "*.zip" -type f -exec mv {} "/home/$user/recovered_output/Archives/" \; find /root/result/ -name "*.tar" -type f -exec mv {} "/home/$user/recovered_output/Archives/" \; find /root/result/ -name "*.rar" -type f -exec mv {} "/home/$user/recovered_output/Archives/" \; find /root/result/ -name "*.gzip" -type f -exec mv {} "/home/$user/recovered_output/Archives/" \; find /root/result/ -name "*.tar.gz" -type f -exec mv {} "/home/$user/recovered_output/Archives/" \; find /root/result/ -name "*.7z" -type f -exec mv {} "/home/$user/recovered_output/Archives/" \; find /root/result/ -name "*.bz" -type f -exec mv {} "/home/$user/recovered_output/Archives/" \; find /root/result/ -name "*.bz2" -type f -exec mv {} "/home/$user/recovered_output/Archives" \; find /root/result/ -name "*.*" -type f -exec mv {} "/home/$user/recovered_output/Others/" \; chown -R $user "/home/$user/recovered_output" zenity --display :0 --info --width=350 --height=100 --title "Recovery Successful" --text " Data has been recovered successfully in recovered_output folder in your home directory." nautilus /home/$user/recovered_output & exit 0
4. Exécution du script
Copiez simplement le script ci-dessus et collez-le dans le fichier viz. script.sh &accordez les autorisations d'exécution au script.
chmod +x script.sh
Remarque :Veuillez exécuter le script avec root en utilisant la commande
sudo -i #### Mettez votre mot de passe de connexion système##########
Exécutez le script et il vous guidera plus loin.
sh script.sh
5. Finalisation
Tout d'abord, le script confirmera si l'utilisateur exécutant le script est root, puis il vérifiera l'installation de l'outil TestDisk. Il vous redirigera vers la page de sélection du lecteur pour la récupération des données.
Sélectionnez le lecteur que vous souhaitez récupérer.
Sélectionnez son système de fichiers.
Appuyez sur Entrée pour continuer.
Une fois la récupération terminée, le nombre de fichiers s'affichera récupéré.
Quittez l'outil TestDisk comme suit.
Le script apparaîtra pour le message de réussite.
Bravo, vous avez récupéré vos données.