rm récupération de fichiers supprimés accidentellement
- Description du problème
- Le processus est toujours là après la suppression accidentelle du fichier
- Installer extundelete
- extundelete les paramètres communs
- « Que faire immédiatement » après la suppression accidentelle d'un fichier
- Récupérer des fichiers
Description du problème
Dans une instance Linux, utilisez rm命令误删除文件
la méthode suivante pour récupérer les données 且没有
sur le disque où se trouve le fichier .进行任何写操作
# 执行不成功的
rm -Rf /
## 使用 --no-preserve-root 选项跳过安全模式
rm -rf --no-preserve-root /*
Trois parties du système de fichiers
Linux
et se compose Windows
de :文件系统
三部分
- nom de fichier
- inode
- bloc
nom de fichier | Stocker les informations sur les métadonnées des fichiers | stocker réellement des données |
---|---|---|
a.txt | ->inode | -> bloquer |
block块
: Où les données sont réellement stockées
逻辑删除
: Fausse suppression (équivalent à une simple suppression de la table des matières du livre)
Pourquoi la suppression est-elle plus rapide que la copie ?
Le processus est toujours là après la suppression accidentelle du fichier
https://www.lxlinux.net/1124.html
# 查看当前正在使用的、已被删除的文件
lsof | grep deleted
Heureusement c'est le cas 进程还存在
, alors les opérations de récupération commencent.
récupérer
# 恢复命令
cp /proc/pid/fd/1/指定目录/文件名 /tmp/恢复/
Entrez 进程目录
, entrez généralement /proc/pid/fd/
, copiez le fichier à l'emplacement spécifié
Opération de récupération
Installer extundelete
Référence : https://www.lxlinux.net/8012.html
ext4
Pour supprimer des fichiers sur le système de fichiers, vous pouvez utiliser extundelete
la récupération ;
ext3
pour supprimer des fichiers sur le système de fichiers, vous pouvez utiliser ext3grep
la récupération ;
windows
pour récupérer des fichiers supprimés accidentellement : final data v2.0汉化版
eteasyrecovery
extundelete
Site officiel : http://extundelete.sourceforge.net/
extundelete
L'outil peut récupérer ext3
ou ext4
partitionner des fichiers 已删除的文件
.
extundelete
Avec des fichiers stockés dans une partition qui ont été supprimés dans le 分区日志中的信息
passé 尝试恢复
, il n'y a aucune garantie qu'un fichier supprimé spécifique puisse être récupéré avec succès.
extundelete
L'outil récupère temporairement 不支持
du xfs
système de fichiers 误删文件
, vous pouvez essayer de l'utiliser pour récupérer des fichiers supprimés TestDisk
accidentellementxfs
miam, installez extundelete
# 检查是否安装有extundelete工具
rpm -qa extundelete
# yum安装extundelete
yum install -y extundelete
# 查看extundelete版本
extundelete -v
Compiler et installer 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
extundelete les paramètres communs
Parmi eux, les paramètres (options) sont :
paramètre | expliquer |
---|---|
–version, -[vV] | Afficher le numéro de version du logiciel |
-aide | Afficher les informations d'aide du logiciel |
–superbloc | Afficher les informations sur le superbloc |
-journal | Afficher les informations du journal |
–après l'heure | Paramètre de temps, indiquant les fichiers ou répertoires qui seront supprimés après une certaine période de temps |
–avant l'heure | Paramètre de temps, indiquant les fichiers ou répertoires qui ont été supprimés avant une certaine période de temps |
Action:
paramètre | expliquer |
---|---|
–inode ino | Afficher les informations sur le nœud "ino" |
–bloc noir | Afficher des informations sur le bloc de données "blk" |
–restore-inode ino[,ino,…] | Paramètre de la commande de restauration, qui signifie restaurer les fichiers du nœud "ino". Les fichiers restaurés seront automatiquement placés dans le dossier RESTORED_FILES du répertoire courant, en utilisant le numéro du nœud comme extension. |
–le chemin du fichier de restauration | Paramètres de la commande de récupération, indiquant que les fichiers dans le chemin spécifié seront récupérés et que les fichiers récupérés seront placés dans le répertoire RECOVERED_FILES sous le répertoire actuel. |
– chemin » des fichiers de restauration | Paramètres de la commande de restauration, indiquant que tous les fichiers répertoriés dans le chemin seront restaurés |
-Tout restaurer | Paramètres de la commande de récupération, indiquant que tous les répertoires et fichiers seront tentés d'être récupérés |
-j journal | Indique la lecture du journal étendu à partir du fichier nommé |
-b numéro de bloc | Indique l'utilisation du super bloc précédemment sauvegardé pour ouvrir le système de fichiers. Il est généralement utilisé pour vérifier si le super bloc existant est le fichier actuellement requis. |
-B taille de bloc | Ouvrir le système de fichiers en spécifiant la taille du bloc de données, généralement utilisé pour visualiser les fichiers dont la taille est déjà connue |
Après avoir accidentellement supprimé un fichier立即要做的事情
indice:
误删除文件
Enfin,第一
la première chose à faire立即停止继续写入数据
est de避免
supprimer le contenu du fichier par erreur.被覆盖
extundelete
et sont不能
automatiquement créés lors de la récupération des fichiers .空文件
目录
- Installez
extundelete
l'outil,切勿
installezextundelete
l'outil sur误删文件所在磁盘
. Il est recommandé de l'installer sur系统盘
ou de l'installer ensemble新的数据盘
. - Étant donné que l'opération ultérieure d'utilisation de cet outil pour restaurer les fichiers supprimés nécessite l'exécution
umount
d'une commande pour annuler l'opération de montage de partition ou pour只读方式
monter la partition, la commande ne peut pas être exécutée sur la partition du disque systèmeumount
. 系统盘
误删文件
La récupération des données dans le système doit être montéeliveCD
après le démarrage .只读方式
要恢复的系统盘
1. Sauvegardez la partition actuelle via la commande dd
Utilisez la commande dd pour sauvegarder la partition actuelle afin d'éviter la perte de données causée par un échec de récupération de logiciel tiers. Il convient aux situations où les données sont très importantes. Dans ce test, il n'y a pas de sauvegarde. Si la sauvegarde est effectuée, les méthodes suivantes peuvent être envisagées :
# 通过dd命令对当前分区进行备份
dd if=/path/filename of=/dev/vdc1
2. Démontez la partition sur laquelle les fichiers doivent être récupérés ou montez-la en mode lecture seule
Démontez la partition de disque où se trouvent les fichiers supprimés.
# 查看当前系统磁盘分区
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. Vérifiez le numéro d'inode
Prolongements :
ext4
inode
La valeur du répertoire racine de la partition est2
xfs
inode
La valeur du répertoire racine de la partition est64
本示例
est根分区
créé à l'aideLVM
96
# 查看etx4文件系统磁盘的inode值
ls -id /mnt/data/
# 查看xfs文件系统中/boot的inode值
ls -id /boot/
定位被误删的文件
Si vous devez effectuer une recherche étape par étape, vous pouvez d'abord effectuer 根分区 inode
une recherche à partir de
# 查看inode号:
## 常识:每个文件,有一个inode号。
ls -i a.txt
# 查看inode中的文件属性
## 通过stat命令查看inode中包含的内容
stat a.txt
4. Afficher les informations sur les données supprimées
https://blog.51cto.com/bosszhang/2069542
# 通过inode结点查看被删除的文件名字:
# 查看sdb1分区根目录下面可被恢复的文件及文件夹
# 查询可恢复的数据,带有Deleted标记的表示已经删除的文件
## --inode 2 显示inode号为2的文件的信息
# extundelete 磁盘设备路径 --inode 2
extundelete /dev/sdb1 --inode 2
L'affichage du système est similaire au suivant :
celui de l'image Deleted状态
est 被删除的数据
.
Restaurer 被删除数据
au RECOVERED_FILES目录
suivant, 该RECOVERED_FILES目录
valeur par défaut créée 当前目录
ci-dessous .
Récupérer des fichiers
https://developer.aliyun.com/article/563603
Restaurer le fichier avec le numéro d'inode spécifié
# 恢复对应inode的文件
extundelete 磁盘镜像文件 --restore-inode 21
Restaurer le nom de fichier spécifié
# 指定文件名test.txt尝试恢复
extundelete /dev/sdb1 --restore-file test.txt
Restaurer le répertoire spécifié
空目录不会被恢复
# 恢复指定目录
extundelete /dev/sdb1 --restore-directory /dir1
Récupérer tous les fichiers récupérables
# 恢复该磁盘下的所有可恢复文件
extundelete 磁盘设备路径 --restore-all
L'affichage du système est similaire à ce qui suit :
Récupérer des fichiers à partir d'une heure spécifiée
Unix时间戳
Conversion : https://tool.chinaz.com/tools/unixtime.aspx
Restaurer les fichiers supprimés avant l'horodatage spécifié
# 恢复指定时间戳之前删除的文件
## --before UNIX时间戳,从1970年1月1日 00:00:00 UTC 起的秒数。
extundelete --before 1451288304 --restore-all /dev/sdb1
Restaurer les fichiers supprimés après l'horodatage spécifié
# 恢复指定时间戳之后删除的文件
## --after UNIX时间戳
extundelete --after 1451288304 --restore-all /dev/sdb1
Afficher les fichiers récupérés
# 查看恢复出的文件
ls RECOVERED_FILES/