rm recuperación de archivos borrados accidentalmente
- Descripción del problema
- El proceso sigue ahí después de eliminar accidentalmente el archivo.
- Instalar extundelete
- eliminar parámetros comunes
- 'Qué hacer inmediatamente' después de eliminar accidentalmente un archivo
- Recuperar archivos
Descripción del problema
En una instancia de Linux, utilice rm命令误删除文件
el siguiente método para recuperar datos 且没有
en el disco donde se encuentra el archivo .进行任何写操作
# 执行不成功的
rm -Rf /
## 使用 --no-preserve-root 选项跳过安全模式
rm -rf --no-preserve-root /*
Tres partes del sistema de archivos.
Linux
y consta Windows
de :文件系统
三部分
- Nombre del archivo
- inodo
- bloquear
Nombre del archivo | Almacenar información de metadatos de archivos | realmente almacenar datos |
---|---|---|
a.txt | –>inodo | –> bloquear |
block块
: Dónde se almacenan realmente los datos
逻辑删除
: Eliminación falsa (equivalente a simplemente eliminar el índice del libro) ¿
Por qué la eliminación es más rápida que la copia?
El proceso sigue ahí después de eliminar accidentalmente el archivo.
https://www.lxlinux.net/1124.html
# 查看当前正在使用的、已被删除的文件
lsof | grep deleted
Afortunadamente este es el caso 进程还存在
, entonces comienzan las operaciones de recuperación.
recuperar
# 恢复命令
cp /proc/pid/fd/1/指定目录/文件名 /tmp/恢复/
Ingrese 进程目录
, generalmente ingrese /proc/pid/fd/
, copie el archivo a la ubicación especificada
Operación de recuperación
Instalar extundelete
Referencia: https://www.lxlinux.net/8012.html
ext4
Para eliminar archivos en el sistema de archivos, puede usar extundelete
la recuperación;
ext3
para eliminar archivos en el sistema de archivos, puede usar ext3grep
la recuperación;
windows
para recuperar archivos eliminados accidentalmente: final data v2.0汉化版
yeasyrecovery
extundelete
Sitio web oficial: http://extundelete.sourceforge.net/
extundelete
La herramienta puede recuperarse ext3
o ext4
particionarse 已删除的文件
.
extundelete
Con archivos almacenados en una partición que se han eliminado en el 分区日志中的信息
pasado 尝试恢复
, no hay garantía de que un archivo eliminado específico pueda recuperarse exitosamente.
extundelete
La herramienta se recupera temporalmente 不支持
del xfs
sistema de archivos 误删文件
, puedes intentar usarla para recuperar archivos borrados TestDisk
accidentalmentexfs
yum instalar extundelete
# 检查是否安装有extundelete工具
rpm -qa extundelete
# yum安装extundelete
yum install -y extundelete
# 查看extundelete版本
extundelete -v
Compilar e instalar extundelete
# 安装依赖包
yum -y install e2fsprogs-libs e2fsprogs e2fsprogs-devel
# 下载压缩安装包
wget http://nchc.dl.sourceforge.net/project/extundelete/extundelete/0.2.4/extundelete-0.2.4.tar.bz2
# 备用下载地址
wget https://raw.githubusercontent.com/omaidb/qiaofei_notes/main/shell_code/extundelete/extundelete-0.2.4.tar.bz2
# 解压
tar -jxvf extundelete-0.2.4.tar.bz2
cd extundelete-0.2.4
# 构建编译选项
./configure
# 编译安装
make && make install
# 检查是否安装成功
extundelete -v
eliminar parámetros comunes
Entre ellos, los parámetros (opciones) son:
parámetro | explicar |
---|---|
–versión, -[vV] | Mostrar el número de versión del software |
-ayuda | Mostrar información de ayuda del software |
–supermanzana | Mostrar información de superbloque |
-diario | Mostrar información de registro |
–después del tiempo | Parámetro de tiempo, que indica archivos o directorios que se eliminarán después de un cierto período de tiempo |
–antes de la hora | Parámetro de tiempo, que indica archivos o directorios que se eliminaron antes de un cierto período de tiempo |
Acción:
parámetro | explicar |
---|---|
–inodo ino | Mostrar información sobre el nodo "ino" |
–bloquear negro | Mostrar información sobre el bloque de datos "blk" |
–restaurar-inodo ino[,ino,…] | Parámetro del comando de restauración, que significa restaurar los archivos del nodo "ino". Los archivos restaurados se colocarán automáticamente en la carpeta RESTORED_FILES en el directorio actual, utilizando el número de nodo como extensión. |
–restaurar-archivo 'ruta' | Parámetros del comando de recuperación, que indican que los archivos en la ruta especificada se recuperarán y los archivos recuperados se colocarán en el directorio RECOVERED_FILES en el directorio actual. |
–restaurar-archivos 'ruta' | Restaurar parámetros del comando, lo que indica que se restaurarán todos los archivos enumerados en la ruta |
-restaura todo | Parámetros del comando de recuperación, que indican que se intentará recuperar todos los directorios y archivos |
-j diario | Indica la lectura del registro extendido del archivo nombrado |
-b número de bloque | Indica el uso del superbloque previamente respaldado para abrir el sistema de archivos. Generalmente se usa para verificar si el superbloque existente es el archivo requerido actualmente. |
-B tamaño de bloque | Abra el sistema de archivos especificando el tamaño del bloque de datos, generalmente utilizado para ver archivos cuyo tamaño ya se conoce |
Después de eliminar accidentalmente un archivo立即要做的事情
pista:
误删除文件
Finalmente,第一
lo primero que debemos hacer立即停止继续写入数据
es避免
eliminar el contenido del archivo por error.被覆盖
extundelete
y se不能
crean automáticamente al recuperar archivos .空文件
目录
- Instale
extundelete
la herramienta,切勿
instaleextundelete
la herramienta en误删文件所在磁盘
. Se recomienda instalarlo系统盘
o instalarlo juntos新的数据盘
. - Dado que la operación posterior de usar esta herramienta para restaurar archivos eliminados requiere ejecutar
umount
un comando para cancelar la operación de montaje de la partición o只读方式
montar la partición, el comando no se puede ejecutar en la partición del disco del sistemaumount
. 系统盘
误删文件
La recuperación de datos en el sistema debe montarseliveCD
después del inicio .只读方式
要恢复的系统盘
1. Haga una copia de seguridad de la partición actual mediante el comando dd
Utilice el comando dd para hacer una copia de seguridad de la partición actual y evitar la pérdida de datos causada por una falla de recuperación del software de terceros. Es adecuado para situaciones donde los datos son muy importantes. En esta prueba, no hay copia de seguridad. Si se realiza la copia de seguridad, se pueden considerar los siguientes métodos:
# 通过dd命令对当前分区进行备份
dd if=/path/filename of=/dev/vdc1
2. Desmonte la partición donde se deben recuperar los archivos o móntela en modo de solo lectura
Desmonte la partición del disco donde se encuentran los archivos eliminados.
# 查看当前系统磁盘分区
df -h
# 卸载需要恢复文件的分区
## umount 挂载点
umount /mnt
# 查看谁在占用挂载点
## -m 显示挂载点
## -u 显示用户
## -v 显示详情
fuser -muv /mnt
# 识别和终止正在访问指定文件或文件系统的进程
## -m:指定匹配模式为挂载点,只管挂载点相关的进程
## -v:显示详细信息,包括进程的命令行参数
## -i:交互式模式,要求在终止进程之前进行确认
## -k:终止进程
fuser -m -v -i -k /mnt
# 以只读的方式挂载
## remount 重新挂载
## ro 只读方式挂载
mount -o remount,ro /mnt
3. Verifique el número de inodo
Extensiones:
ext4
inode
El valor del directorio raíz de la partición es2
xfs
inode
El valor del directorio raíz de la partición es64
本示例
se根分区
crea usandoLVM
96
# 查看etx4文件系统磁盘的inode值
ls -id /mnt/data/
# 查看xfs文件系统中/boot的inode值
ls -id /boot/
定位被误删的文件
Si necesita buscar paso a paso, primero puede 根分区 inode
buscar desde
# 查看inode号:
## 常识:每个文件,有一个inode号。
ls -i a.txt
# 查看inode中的文件属性
## 通过stat命令查看inode中包含的内容
stat a.txt
4. Ver información de datos eliminados
https://blog.51cto.com/bosszhang/2069542
# 通过inode结点查看被删除的文件名字:
# 查看sdb1分区根目录下面可被恢复的文件及文件夹
# 查询可恢复的数据,带有Deleted标记的表示已经删除的文件
## --inode 2 显示inode号为2的文件的信息
# extundelete 磁盘设备路径 --inode 2
extundelete /dev/sdb1 --inode 2
La pantalla del sistema es similar a la siguiente:
la de la imagen Deleted状态
es 被删除的数据
.
Restaurar 被删除数据
al RECOVERED_FILES目录
siguiente, 该RECOVERED_FILES目录
valor predeterminado creado 当前目录
a continuación .
Recuperar archivos
https://developer.aliyun.com/article/563603
Restaurar el archivo con el número de inodo especificado
# 恢复对应inode的文件
extundelete 磁盘镜像文件 --restore-inode 21
Restaurar el nombre del archivo especificado
# 指定文件名test.txt尝试恢复
extundelete /dev/sdb1 --restore-file test.txt
Restaurar el directorio especificado
空目录不会被恢复
# 恢复指定目录
extundelete /dev/sdb1 --restore-directory /dir1
Recuperar todos los archivos recuperables
# 恢复该磁盘下的所有可恢复文件
extundelete 磁盘设备路径 --restore-all
La pantalla del sistema es similar a la siguiente:
Recuperar archivos de un tiempo específico
Unix时间戳
Conversión: https://tool.chinaz.com/tools/unixtime.aspx
Restaurar archivos eliminados antes de la marca de tiempo especificada
# 恢复指定时间戳之前删除的文件
## --before UNIX时间戳,从1970年1月1日 00:00:00 UTC 起的秒数。
extundelete --before 1451288304 --restore-all /dev/sdb1
Restaurar archivos eliminados después de la marca de tiempo especificada
# 恢复指定时间戳之后删除的文件
## --after UNIX时间戳
extundelete --after 1451288304 --restore-all /dev/sdb1
Ver archivos recuperados
# 查看恢复出的文件
ls RECOVERED_FILES/