优秀的编程知识分享平台

网站首页 > 技术文章 正文

聊一聊执行rm -rf 数据恢复以及建立linux回收站

nanyue 2024-08-31 23:59:19 技术文章 4 ℃

各位小伙伴大家好,我是运维虫子!

今天,我们聊一聊,如果在Linux平台下,执行rm -rf误删除文件,我们可以做哪些数据恢复的工作以及我们该如何应对不小心删除数据。

windows恢复误删除文件相对比较简单,各种版本的磁盘工具都能轻松恢复。

本篇文章讲的是centos7下误删除文件的恢复。由于ext4与xfs恢复方法不一样,所以准备ext4和xfs两种格式的分区:


为了最后确认数据,这里从其他目录复制一份文件到测试目录:

[root@yunweichongzi data]# cp /etc/hostname /data/data-ext4/
[root@yunweichongzi data]# cp /etc/hostname /data/data-xfs/
[root@yunweichongzi data]# tree
.
├── data-ext4
│   ├── hostname
│   └── lost+found
└── data-xfs
    └── hostname

3 directories, 2 files

ext4误删除恢复

Ext分区文件可以使用恢复工具extundelete来恢复。

  • 通过手动删除的方法对ext4分区的文件进行删除:

执行ls以后发现文件已经不在了。

[root@yunweichongzi ~]# cd /data/data-ext4/
[root@yunweichongzi data-ext4]# rm -rf hostname
[root@yunweichongzi data-ext4]# ls
lost+found
[root@yunweichongzi data-ext4]# 

开始安装恢复工具extundelete;

[root@yunweichongzi ~]# yum install epel-release -y
[root@yunweichongzi ~]# yum install extundelete -y

卸载分区/dev/vdb1;

[root@yunweichongzi ~]# umount /dev/vdb1

执行恢复命令;

[root@yunweichongzi ~]# extundelete /dev/vdb1 --inode 2

就可以看到已经删除的文件了

恢复文件:extundelete /dev/vdb1 --restore-all

注意:最好是用--restore-all参数,恢复单个文件或者恢复目录可能会报错。

在当前目录下会创建一个RECOVERED_FILES目录,通过md5比对确认是同一个文件。

xfs文件恢复

网上提到XFS也能用extundelete恢复,我用这个工具一直没成功过。

xfs是用xfsdump 与 xfsrestore 工具进行备份恢复。

安装xfsdump

yum install -y xfsdump

利用xfsdump备份磁盘。

xfsdump -f /data/xfsbackup /dev/vdc1

模拟删除文件;

[root@yunweichongzi data]# cd data-xfs/
[root@yunweichongzi data-xfs]# ls
hostname
[root@yunweichongzi data-xfs]# rm -rf hostname 
[root@yunweichongzi data-xfs]# ls
[root@yunweichongzi data-xfs]#

恢复文件;

[root@yunweichongzi data]# xfsrestore -f xfsbackup backup/
其中xfsbackup是上面执行xfsdump生成的备份文件,bakup/意思为文件恢复到指定目录

进入backup目录,通过MD5对文件进行校验,文件是刚刚删除的文件。

如何应对rm -rf

工作中,由于rm -rf 带来损失的新闻比比皆是,那我们应该做些什么来应对误删除呢?

方法有许许多多,这里介绍一个比较好一点的办法,建立rm回收站。

vim ~/.bashrc
注释掉rm=rm -i
如何添加下面的内容

回收站演示;

使用rm -rf提示mv没有-r参数不能使用,利用rm 删除文件以后,利用rl就可以查看回收站内容,如果要彻底删除,就用cleartrash命令。

[root@yunweichongzi data]# rm -rf xfsbackup 
mv: invalid option -- 'r'
Try 'mv --help' for more information.
[root@yunweichongzi data]# rm xfsbackup 
[root@yunweichongzi data]# ls
data-ext4  data-xfs
[root@yunweichongzi data]# rl
xfsbackup
[root@yunweichongzi data]# cleartrash 
clear sure?[n]y

总之,平时要养成重要数据备份的好习惯,恢复工具也不能保证百分百恢复,免得等误删除以后才追悔莫及。

希望大家能够多多关注,多年致力于互联网搬砖,各种互联网技术都稍有涉猎。如果大家遇到一些问题可以私信或者留言给我。我们可以一起讨论!

最近发表
标签列表