Version 1.0
Autor:Srijan Kishore
Dieses Tutorial hilft Ihnen, Daten aus versehentlich gelöschten Daten von Linux-Dateisystemen wiederherzustellen. Dies ist ein sehr drastischer Fehler eines jeden Benutzers/Administrators, der enorme Strafen nach sich zieht. Dieses Skript wird ein Segen für Neulinge/Experten für Datenmanagement sein. Ich werde TestDisk zur Datenwiederherstellung verwenden. Hier habe ich die Aufgabe mit Hilfe eines Skripts vereinfacht.
1. Hintergrund
TestDisk ist eine leistungsstarke kostenlose Datenwiederherstellungssoftware. Angenommen, Sie haben ein ext3/ext4-Laufwerk, das mit rm -rf oder shift+delete abgestürzt/gelöscht wurde Wie Befehle können Sie mit Hilfe von TestDisk die Daten/Datei wiederherstellen.TestDisk kann verwendet werden, um
- Partitionstabelle reparieren
- Stellen Sie Dateien von FAT-, exFAT-, NTFS- und ext2/ext3/ext4-Partitionen wieder her
Neben diesen Funktionen verfügt TesdDisk über mehrere Funktionen zur Datenpflege/-verwaltung
2. Voraussetzung
Ich verwende Ubuntu12.04 LTS, auf dem ich die TestDisk installieren und das Datenwiederherstellungsskript auf einem abgestürzten Laufwerk implementieren werde. Dieses Skript funktioniert gut mit dem Ubuntu-Betriebssystem. Selbst wenn eine der Festplatten gelöscht wird, verbinden Sie einfach die Festplatte mit dem Ubuntu-Rechner und führen Sie das Skript aus, um die Daten wiederherzustellen.3. Skript
#!/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. Skriptausführung
Kopieren Sie einfach das obige Skript und fügen Sie es in die Datei ein, nämlich. script.sh &geben Sie dem Skript Ausführungsberechtigungen.
chmod +x script.sh
Hinweis:Bitte führen Sie das Skript mit root aus, indem Sie den Befehl
verwendensudo -i #### Geben Sie Ihr System-Login-Passwort ein##########
Führen Sie das Skript aus und es führt Sie weiter.
sh script.sh
5. Abschluss
Zuerst wird das Skript bestätigen, ob der Benutzer, der das Skript ausführt, root ist, dann wird es nach der Installation des TestDisk-Tools suchen. Es leitet Sie zur Laufwerksauswahlseite für die Datenwiederherstellung weiter.
Wählen Sie das Laufwerk aus, das Sie wiederherstellen möchten.
Wählen Sie sein Dateisystem aus.
Drücken Sie die Eingabetaste, um fortzufahren.
Nach Abschluss der Wiederherstellung wird die Anzahl der Dateien angezeigt erholt.
Beenden Sie das TestDisk-Tool wie folgt.
Das Skript erscheint für die Erfolgsmeldung.
Prost, Sie haben Ihre Daten wiederhergestellt.