GNU/Linux >> Tutoriales Linux >  >> Ubuntu

Recuperación de datos de archivos eliminados accidentalmente o unidades bloqueadas en Ubuntu

Versión 1.0
Autor:Srijan Kishore 

Este tutorial lo ayudará a recuperar datos de datos eliminados accidentalmente de los sistemas de archivos de Linux. Este es un error muy drástico por parte de cualquier usuario/administrador que cuesta grandes sanciones. Este script será de gran ayuda para los novatos/expertos en la gestión de datos. Usaré TestDisk para la recuperación de datos. Aquí he simplificado la tarea con la ayuda de un script.

1. Fondo

TestDisk es un potente software gratuito de recuperación de datos. Supongamos que tiene una unidad ext3/ext4 que se bloqueó/borró con rm -rf o shift+delete como comandos, con la ayuda de TestDisk puede recuperar los datos/archivos.
TestDisk se puede usar para
  • Reparar tabla de particiones
  • Recuperar archivos de particiones FAT, exFAT, NTFS y ext2/ext3/ext4

Además de estas funciones, TesdDisk tiene varias funcionalidades para el mantenimiento/gestión de datos

2. Requisito

Estoy usando Ubuntu12.04 LTS en el que instalaré TestDisk e implementaré el script de recuperación de datos en una unidad bloqueada. Este script funciona bien con el sistema operativo Ubuntu. Incluso si sucede que se elimina alguno de los discos duros, simplemente conecte el disco duro con la máquina ubuntu y ejecute el script para recuperar los datos.

3. Guión

#!/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. Ejecución de guiones

Simplemente copie el script anterior y péguelo en el archivo a saber. script.sh &otorgue permisos de ejecución al script.

chmod +x guión.sh

Nota:Ejecute el script con root usando el comando

sudo -i                                        #### Ingrese la contraseña de inicio de sesión de su sistema##########

Ejecute el script y lo guiará más.

sh secuencia de comandos.sh

5. Finalización

En primer lugar, el script confirmará si el usuario que ejecuta el script es root, luego verificará la instalación de la herramienta TestDisk. Te redirigirá a la página de selección de unidades para la recuperación de datos.




Seleccione la unidad que desea recuperar.




Seleccione su sistema de archivos.




Presione enter para continuar.




Después de completar la recuperación, se mostrará la cantidad de archivos recuperado.



Salga de la herramienta TestDisk de la siguiente manera.






La secuencia de comandos aparecerá para el mensaje de éxito.



Presione Aceptar y los datos se recuperarán en la carpeta de salida recuperada de su directorio de inicio.


Saludos, ha recuperado sus datos.

Ubuntu
  1. Actualizar de Ubuntu 13.10 a Ubuntu 14.04

  2. ¿Cómo recuperar archivos borrados en Linux usando la herramienta de recuperación de datos Scalpel?

  3. ¿Recuperar archivos borrados accidentalmente?

  4. Ubuntu:¿consultar las concesiones del servidor Dhcp desde Perl Script?

  5. ¿Iniciando la conexión de red desde la recuperación de Ubuntu?

Cómo obligar a Ubuntu a dejar de recopilar datos de su PC

Cómo recuperar archivos borrados en Ubuntu a través de TestDisk

Cómo instalar y usar PhotoRec para recuperar archivos borrados en Ubuntu 20.04

Manera fácil de recuperar archivos borrados en Ubuntu con PhotoRec

¿Cómo acceder a los archivos de Windows desde Ubuntu?

Las 20 mejores herramientas de recuperación de datos de Linux para recuperar archivos borrados o dañados