1、事因:

执行shell测试时,shell中rm -rf $path/* 变量$path为空,结果执行的命令是rm -rf /

事发时及时ctrl+c中断,导致只有/bin /boot目录删除

2、造成后果

大部分/bin下的shell命令无法执行,例如ls mkdir chmod tar ssh login。。。也就是想ssh远程登录也不行了。

3、解决过程

1)、好在我当前ssh会话没有关上,虽然新会话没有办法远程ssh,但只要现在这个会话不关闭那么就可以一直用着………………

2)、从集群其他机器将/bin里边的目录考入,因为tar和scp都用不了,所以使用一个取巧的方法,将shell文件放到web服务器的web目录,通过wget进行下载。

3)、。。。。但是,没有权限啊!!没有权限啊!!!  因为chmod也被删除了,无法赋值权限

4)、网上查这种情况没有办法,只能去机房使用系统光盘恢复bin目录,可怜的运维兄弟华丽的被我给坑了……我们真心不愿意去那该死的机房 ,太远太偏僻啦!方圆一公里尼玛连吃饭的地方都没有,想吃饭得去村儿啦啊啊啊!!!

5)、。。。在我们出发前曙光发生了,在一个台湾网站发现了通过perl来赋权限的方法,代码如下:perl -e "chmod 0777, 'mkdir'"

大概原理应该是perl中本身存在自己的赋权限的函数,所有通过perl可以给方法权限。。。。。

6)、权限赋上问题就好解决了……从别的节点考/bin /boot就好了…………

7)、shell命令都可以使用,但是boot这块会有风险,有可能导致重启机器会启不来;

所以解决方案分两部分,一部分是运维兄弟拿虚拟机测试一下删除/boot,然后再恢复/boot,最后再重启机器看看是否会出现问题;

另一部分是因为当前节点是master节点,申请采购新机器,将master在新机器做成ha,将这个问题机器平滑下线。

4、教训

1)、以前都说回收root权限,一直觉得小心小心就好了,没想到出来混真的是早晚都要挨刀;这两天就把root权限回收,以后root能不用就不用了!

2)、所有的rm -rf删除路径要删除是否为空……为空时不做删除。

记录linux /bin被误删除的解决过程的更多相关文章

  1. linux Kernell crash dump------kdump 的安装设置+Linux系统崩溃的修复解决过程+mysql+kvm

    http://www.ibm.com/developerworks/cn/linux/l-cn-dumpanalyse/https://www.kernel.org/pub/linux/utils/k ...

  2. linux服务器报No space left on device错误的解决过程记录

    起因 今天在本地提交了点代码,但到服务器上git pull的时候提示No space left on device,第一反应是猜想可能硬盘满了(很有可能是log导致的),不过想想又觉得不太可能,这台服 ...

  3. [转]线上GC故障解决过程记录

    排查了三四个小时,终于解决了这个GC问题,记录解决过程于此,希望对大家有所帮助.本文假定读者已具备基本的GC常识和JVM调优知识,关于JVM调优工具使用可以查看我在同一分类下的另一篇文章: http: ...

  4. 一次线上GC故障解决过程记录

    排查了三四个小时,终于解决了这个GC问题,记录解决过程于此,希望对大家有所帮助.本文假定读者已具备基本的GC常识和JVM调优知识,关于JVM调优工具使用可以查看我在同一分类下的另一篇文章: http: ...

  5. IIS发布网站 报错500.19 错误解决过程记录

    首先先报上我的环境 WindowsServer 2012 IIS 8.5 网站是FrameWork 4.0 发布网站后浏览,报错信息如下: 解决过程记录如下: 1.看到这个问题首先想到的是权限问题,设 ...

  6. 记录今天客户的SQLSERVER启动不起来( 错误9003)的解决过程2013-11-26

    记录今天客户的SQLSERVER启动不起来( 错误9003)的解决过程2013-11-26 今天一大早上班就接到客户的电话,说:SQLSERVER启动不起来,业务系统使用不了 于是我就使用QQ远程,帮 ...

  7. 一次Linux LVM VG丢失完整找回过程记录

    某客户的一台PC服务器连接了一台HP EVA 的FC SAN存储,划了一个6T的LUN分作一个单独的VG使用,在某一次异常掉电之后,发现该VG完全丢失,使用vgs/pvs/lvs命令均无法找到此VG及 ...

  8. 记录Linux下安装elasticSearch时遇到的一些错误

    记录Linux下安装elasticSearch时遇到的一些错误 http://blog.sina.com.cn/s/blog_c90ce4e001032f7w.html (2016-11-02 22: ...

  9. 如何记录linux终端下的操作日志

    如何记录linux终端下的操作日志 在linux终端下,为方便检查操作中可能出现的错误,以及避免屏幕滚屏的限制,我们可以把操作日志记录下来.常用的工具有 screen,script,以及tee等,通过 ...

随机推荐

  1. 算法手记 之 数据结构(线段树详解)(POJ 3468)

    依然延续第一篇读书笔记,这一篇是基于<ACM/ICPC 算法训练教程>上关于线段树的讲解的总结和修改(这本书在线段树这里Error非常多),但是总体来说这本书关于具体算法的讲解和案例都是不 ...

  2. 8.js模式-状态模式

    1. 状态模式 var offLightState = function(light){ this.light = light; } offLightState.prototype.buttonWas ...

  3. “假学习“&”真学习“?(摘)

    什么叫做“假学习”? 一.看书 买一堆书,有空看看.看书,这是典型的假学习.看书看不懂还在看,就是假学习,欺骗自己,安慰自己正在学习而已.专业书都写得很好,但大都是写给已经懂的人看的.看书的最大作用就 ...

  4. Oracle 修改现有列的数据类型

    如果表中有数据,Oracle是不能修改其数据类型的.但可以通过新建一个临时列,将要修改列的数据复制到临时列中,删除原列再修改临时列的名字.这样说好像有点拗口,分步解说一下. 表AC_REG中有列:is ...

  5. Android应用主题与横竖屏的切换

    很多App,现在都具有了横竖屏切换的功能,或者说"白天"和"黑夜"主题的切换. 实现起来也非常简单.主要需要注意的是,在切换的同时,页面的数据不能丢失,不然给用 ...

  6. moogodb3.x总结

    搞了三天了,从阿里云服务器,到linux,再到mongodb数据库,只有一个感觉就是,头都要炸了,这篇是对mongodb做一个总结吧,也算有一个成果了 mongodb在linux下的安装 mongod ...

  7. chaper3_exerise_Uva10340_子字串

    #include<iostream> #include<string> #include<cstring> using namespace std; int Fin ...

  8. c语言字符集

    一.字符常量 'A', 'B','\n','\'','1' 二.字符类型变量的赋值 char c1='A'; char c2='b'; char c3=65; c2='\''; c2='\n'; 三. ...

  9. Android 图片闪烁(延迟切换)

    <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools=&q ...

  10. php数组的创建及操作

    //数组的创建 //1 $usernames = array('李彦宏','周宏伟','马云','俞敏洪','李开复'); echo $usernames; //array,打印类型 echo '&l ...