俗言道,常在河边走哪有不湿鞋。在日常运维的过程中难免会误删除一些文件,或目录,甚至于rm -rf /* 的操作。linux系统不像windows删除了还有个回收站可以恢复。
如果是无关紧要的文件自然不必担心,要是公司特别重要的数据呢?难道只能跑路了吗?当然不是了。对误删除还原分为两种情况,使用两种不同的方法:
- 删除后进程中存在删除信息
- 删除后进程中找不到删除信息
接下来分别演示两种不同的还原方式
误删除后进程中存在删除信息的情况
这种情况一般是有活动的进程在持续进行标准输入和输出,即便文件被删除,进程PID依旧存在,这也是为什么删除了一些文件后磁盘空间没有释放的原因。利用这个特性我们可以通过PID来恢复删除的文件。
开始实操演示
[root@docker ~]# ll /usr/local/mysql/data/
total 1114180
-rw-r----- 1 mysql mysql 56 Jun 5 16:09 auto.cnf
drwxr-x--- 2 mysql mysql 4096 Jun 10 17:12 clientdb
drwxr-x--- 2 mysql mysql 4096 Jun 11 13:56 devops
-rw-r----- 1 mysql mysql 1106 Jun 27 13:58 ib_buffer_pool
-rw-r----- 1 mysql mysql 79691776 Jun 27 13:59 ibdata1
-rw-r----- 1 mysql mysql 524288000 Jun 27 13:59 ib_logfile0
-rw-r----- 1 mysql mysql 524288000 Jun 13 18:07 ib_logfile1
-rw-r