通常来说,对于重要文件我们都应该定期备份(如 /etc 下的配置文件),以免在喝醉了手残了等异常状态下将重要文件误删除。然而,如果意外真的发生,而我们又没有做好备份,那赶紧试试手动恢复吧,这里使用的文件恢复软件为 extundelete 。
1.重新挂载分区为只读状态:
这是恢复文件的第一步,也是最关键的步骤之一。假如我们误删除的文件为 /data/catalina.out , /data 目录为 /dev/sdb5 的挂载点,因为对分区的写操作可能会导致我们恢复文件失败,所以要将该分区重新挂载为只读形式:
[root@localhost ~]# mount -o remount,ro /dev/sdb5
执行该命令很可能会有错误提示出现,一般来说为目录被占用等信息,如下:
mount: /data isbusy
这时使用 fuser 命令查看哪些用户的那些进程在使用该目录:
[root@localhost ~]# fuser -mv /data
USER PID ACCESS COMMAND
/data: mysql 4345 F.c.. mysqld
不难发现是 mysqld命令在使用该目录,在不知道如何关闭 mysql 的情况下,使用 killall 命令结束进程:
[root@localhost ~]# killall mysqld