在根目录下,有2个文件,node_exporter 和 node_exporter_start.sh
我想把这2个文件都删掉,小心,生产环境
要命了,多打了一个空格,真实是想 rm -f node* 的啊;
所有命令不能用,错误提示信息如下图:

我以为所有的东西都被我干掉了,虽然有点疑惑,在我的理解中,rm -f *,会删掉当前目录所有文件。
但文件夹及文件夹下所有文件是不会被删除的,当时我看命令都用不了啦,直接就慌了。
以为虽然保留了文件夹,但可能文件被我删除了,不然怎么所有命令都用不了,登录也不能登录了;
直接找业务确定服务器的重要程度,东西多少;然后利用快照备份进行快照恢复了;

如下图,我们的 rm * 根本就不会删除所有的文件,只会删除那4个文件。所有文件夹及文件夹目录里的数据都还在。

产生现象:和我们生产环境的误删操作一样,复现了


我们只是删除了链接(见2.2 rm * 的交互式提示),但目前不是了解很深入,到底是软链接还是硬链接。
如果是硬链接、那就算只是删除了这4个目录,那也基本没救了。如果是软链接,那重新加不就完事了。

我们查看该链接指向的目录,文件是否存在,如下图,发现文件还是存在;

那就表示,删除的是软链接,但因为环境变量、很多命令、文件等事项(最吓人的就是只有当前窗口还可以在,其他无法登录了),引用的是这个软链接目录,所以各种报错。
那就把软链接加回来即可嘛;
如下图,但我们发现,还是报错,要先恢复 /lib64才行;那我们ls命令不能用了,怎么把软链接加回来啊

百度了一下,发现 /usr/sbin 下面还有一个 sln,也是软链接的命令,救命稻草来了;
就根据这个命令,一个一个加回去

至此,问题解决; ls/ln/touch 等等所有命令也都能用了;
复制会话连接也能连了,mysql登录了也没有什么问题。

本次故障是由于本人误操作导致,总体又因为很慌并没有冷静的思考很好的解决。
反思:
1、遇到故障太慌乱,思路受限。后续应该立马强制自己冷静下来,给自己几分钟来想一下情况和方案。
2、生产环境操作太不小心,不应该在 rm 操作时即不小心、又加 -f 参数。后续要多提高警惕,保持对生产环境的敬畏之心。
3、基础不够牢,要是深入了解 linux,就不会不确定本次误操作的影响范围。
若是知道只是删除了几个软链接(核心软链接也会导致很多包、很多程序无法运行,但终究会知道文件、数据是不会丢的),那也不会那么慌那么着急。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容,请联系我们,一经查实,本站将立刻删除。
如需转载请保留出处:https://51itzy.com/kjqy/181603.html