linux删除/根目录的恢复

  1. 原因
    今天公司里服务器硬盘报警,df查看了下,发现根目录已经>90%。像往常一样,我切换到/var/log目录下,对maillog文件进行打包备份,迁移备份数据删除老数据。在删除/tmp目录下垃圾文件时,操作失误:rm -rf ../*,我瞬间反应过来,赶紧ctrl + c!但还是晚一步,导致/目录下文件丢失。

    ##下面是我的操作
    df -h
    cd /var/log
    tar zcf maillog.180409.tgz maillog
    echo > maillog
    mv maillog.180409.tgz /data/backup/
    cd /tmp
    rm -rf ../*    //这里本应该写rm -rf ./*
  2. 查找丢失文件
    我切换至根目录,查看丢失了哪些文件,我发现已经无法使用一些命令了,具体操作如下:
    cd /
    ls
    -bash: /bin/ls: 没有那个文件或目录
    df
    -bash: /bin/df: 没有那个文件或目录
    which df
    /usr/bin/which: no df in (/usr/local/xxxx)
    mkdir /test
    -bash: mkdir: command not found

    好吧,瞬间懵逼啦,一般情况下,删除根目录跟自杀差不多,很难很难恢复!!这台服务器还是阿里云,我登录控制台查找之前做过的快照,打算回滚!发现特么最近的快照还是2017年12月份的,感觉天要亡我!
    ##不能放弃希望,赶紧查看下其他目录看看文件是否还在,毕竟我很快就ctrl + c了!说不定踩着狗屎了呢,运气这东西说不好的。。。

    [[email protected] ~]# /usr/
    bin/      etc/      games/    include/  lib/     xxxx...
    [[email protected] ~]# /usr/bin/
    Display all 1204 possibilities? (y or n)
    g++                                 xxxx
    a2p                                  gcc
    ##万幸的是文件看着都还在!!估计出门真的踩着狗屎啦!!
    使用hash命令再做查看
    ##hash命令介绍:http://blog.51cto.com/wutengfei/2095951
  3. 解决方法
    ##由于手快删除的只是/bin目录,找一台系统完全一样的服务器,把bin目录拷贝过来,操作如下:
    scp -r [email protected]:/bin  /
    ##查看path路径,检查是否有其他路径文件丢失
    echo $PATH

原文地址:http://blog.51cto.com/wutengfei/2095980

时间: 2024-10-15 19:11:30

linux删除/根目录的恢复的相关文章

Linux系统通过extundelete恢复已删除的数据

我们都知道windows系统有个回收站,凡是被删除的文件都可以通过回收站来恢复数据,即便是按住shift键永久删除了,也有很多数据恢复软件可供使用.那么Linux下如果数据被删除了,又该如何恢复呢,Linux系统可没有回收站,只能通过数据恢复软件来解决了.Linux系统有很多开源的数据恢复工具,例如:debugfs.R-Linux.ext3grep.extundelete等,那么我要给大家介绍的是extundelete,这款工具是用来恢复ext格式(ext3.ext4等)的文件系统被误删除的数据

extundelete工具恢复Linux删除文件

下载相应软件包 wget http://jaist.dl.sourceforge.net/project/e2fsprogs/e2fsprogs/1.41.14/e2fsprogs-1.41.14.tar.gz wget http://jaist.dl.sourceforge.net/project/extundelete/extundelete/0.2.4/extundelete-0.2.4.tar.bz2 wget http://jaist.dl.sourceforge.net/projec

在linux下使用debugfs恢复rm删除的文件

在linux下使用debugfs恢复rm删除的文件?? 以下方法在ext3的文件系统上测试通过, 以下是通过root来实现的?主要借助debugfs fdisk /dev/vdamkdir /mnt/testmount /dev/vda3 /mnt/test1 运行debugfs,进入调度模式[[email protected] test]# debugfs -w /dev/vda3/////////////////////////[[email protected] test]#sudo de

linux—【linux系统根目录各个子目录作用】 (2)

[linux系统根目录各个子目录作用] /   根目录 /bin  系统执行命令的对应文件都在这个目录 /sbin  系统超级管理员执行命令的文件都在这个目录 /dev   device设备  cpu.memory内存.disk硬盘, linux系统里边一切东西都使用文件来表示 /dev/cdrom  光驱 /dev/disk    硬盘 /dev/sda     主分区 /dev/mem   内存 /home  用户“家目录”,我们给系统创建的每个普通用户, 这个普通用户都会有一个家目录可供操

Linux删除文件夹命令实例

linux删除文件夹命令 在用Linux的时分,有时分要删除一个文件夹,常常会提示次此文件非空,没法删除,这个时分,必需运用rm -rf命令.关于一些小白用户常常在运用Linux命令,会十分当心,以免搞出一些事情,下面小编将教细致教大家如何运用linux命令删除文件夹,需求的请珍藏. linux删除文件夹命令实例: rm -rf /var/log/httpd/access 将会删除/var/log/httpd/access目录以及其下所有文件.文件夹 linux删除文件命令实例: rm -f /

MySQL数据库删除后的恢复工作

上午不小心把昨天刚刚建好的一个数据库删了个精光!幸好mysql中开启了日志功能. 下面总结一下数据库删除后的恢复方法: 首先:将最近的二进制类型的日志文件存成文本文件导出,命令如下: mysqlbinlog  F:/wamp/mysql-bin.000045  > F:/test.txt 其次:打开保存的txt文件,文件格式如下: 其中at 1099代表第1099个命令(姑且这么记),查询这些命令,看看你需要回复的命令在什么地方,然后执行命令. 最后:执行回复命令,如下: mysqlbinlog

linux删除包含特殊字符文件

通过删除inode节点删除文件 ls -i查看文件inode节点 find -inum XXX  |xargs -I {} rm {} linux删除包含特殊字符文件,布布扣,bubuko.com

linux删除ORACLE【weber出品必属精品】

关闭数据库 sqlplus / as sysdba shutdown abort 清除oracle软件 su - oracle cd $ORACLE_BASE rm -rf * rm -rf /etc/ora* 删除之前的设置的配置文件的内容 如果之前改过版本,编辑文件 /etc/redhat-release 把Red Hat Enterprise Linux Server release 4 (Tikanga) 改成版本5 vi /etc/pam.d/login 行末删除以下内容 sessio

LINUX扩展根目录磁盘空间(LINUX LVM )

linux扩展根目录磁盘空间(linux lvm ) 扩展目标分区前提: 扩展的分区必须要是linux lvm卷如下截图(分区/dev/sda1不可以扩展,分区/dev/sda2可以扩展) 提示:决定linux lvm的因素是磁盘第一次分区时候选择的分区格式决定的.如下图列出了linux下支持的分区格式 SSH Secure Shell 3.2.9 (Build 283) Copyright (c) 2000-2003 SSH Communications Security Corp - htt