事情始末

平时经常开玩笑,删库跑路、删库跑路,今天我真的rm -rf *了。早上来,一个同事说要查日志,但是日志我又备份到云磁盘了,我就想着把那一天的日志wget下来看看,然后分析。本来是想放在/var/log/目录下去,但是我看了一下磁盘的根目录可用空间不多了,于是我就cd 到/data数据目录。这一个操作就是万恶之源,在这个目录下,我wget日志下来后,解压,看了之后不是我想要的日志,因为我解压的日志也是data目录。当时我就想删的时候千万不要把根目录下的data(/data)删了,只要删data目录里的data目录(/data/data)这个目录,于是我就敲了一行命令rm -rf data *;回车键下去后,哦豁,已经来不及了。

直接感受

我的天啊,赶紧恢复,能快速恢复,争取不被领导发现。当我发现有数据目录被干掉的时候,还是先汇报。汇报完后想着这是真得跑路了。要说不慌是假的,毕竟正儿八经的生产数据,删掉了找不回,这个损失挺严重的。删了kafka、zookeeper、一个数据库AS。于是想着赶紧从其他机器拷贝对应的应用、中间件过来恢复。但是由于安全等问题得先拷贝到本地,再经过好几层中转才能到机器上。这个时间真的挺长的。但是恢复的过程中,一直在想我为什么会执行这个操作,为什么要删,刚刚放到其他监控机器处理不久不会发生这个事情了吗。

间接影响

有种起死回生的感觉,好像瞬间看开了很多事情。没有什么过不去的坎的感觉。中午吃饭也比平时吃的多了。还吃了两包坚果,喝了一瓶酸奶。本想喝杯奶茶发现还得几天才发工资,还得悠着几天。

技术层复盘

1)集群,集群,集群,至少3节点的集群真的重要
2)数据及时备份
3)现在我们追求k8s、docker这些新技术、完全重要。但是基础也很重要,当你压缩打包一个目录的时候,还得去网上查一下tar的参数、怎么排除日志目录打包。kafka集群恢复,怎么判断新节点加入了集群,怎么判断kafka集群的数据没有丢失,怎么设置他的分片。
4)知识点的查漏补缺,从基础到深入、到精通。从0分到3分到5分到8分,一点一点去补充自己的知识。最近刚好在梳理自己知识体系,很庞大,无从下手。本来觉得可能太基础了,是否有这个必要,但是现在觉得这是必须的,形成文档笔记后,相当于温故了一遍,并且以后可以经常拿出来看。以后比较基础的就不用反反复复重复的开始了,就跟每次学一个东西从hello world开始一样了,可以稍微往深层次的地方开始。
5)要敬畏生产环境、敬畏生产环境、敬畏生产环境。

心态/习惯反思

1)脑袋和手不同步,脑袋想着千万不要删错了,但是手却毫无意识的敲了*。
2)良好的习惯真的重要,平时就养成不要轻易的敲rm * 等危险命令,不要在危险的边缘疯狂的试探。
3)时刻要知道自己在做什么,有一个清醒的头脑,知道自己在做一件什么事情,知道自己这个命令下去的风险是什么,感觉自己平时有点行尸走肉的感觉。也是自己近几年没什么长进的原因,可能是快餐时代的知识导致的,总想着跑的快,却忘了跑的稳。
4)既然想好了要把运维这个当做自己的事业发展,就不应该只满足于工作,而是要以自己的事业的标准要求自己。

交流学习

欢迎大家关注我的公众号,一起交流、学习。

谈谈 rm -rf * 后的几点体会(年轻人得讲码德)的更多相关文章

  1. 在Linux下使用rm -rf /*后会怎样?

    每个工作过的码农,也许不知道分布式,也许不知道高并发,但想必都知道这句鼎鼎大名的代码.本人对此也是比较好奇的,不妨用虚拟机试试看 首先是普通角色: 普通角色把拥有权限的文件全都删掉了后,其他文件的提示 ...

  2. centOS6.4 extundelete工具恢复rm -rf 删除的目录

    PS:补充下,我在fedora 19上运行的时候遇到的一个问题: [root@localhost extundelete-]# ./configure Configuring extundelete ...

  3. centos rm -rf 恢复删除的文件

    Linux有时候执行了 rm -rf 等操作误删了文件绝对是一件可怕的事情,好在有一些解决的办法可以临时救急.这时我们就要用到一款叫做extundelete的工具了. 目录[-] 依赖 安装 查找要恢 ...

  4. 高性能Linux服务器 第6章 ext3文件系统反删除利器ext3grep extundelete工具恢复rm -rf 误删除的文件

    高性能Linux服务器 第6章  ext3文件系统反删除利器ext3grep  extundelete工具恢复rm -rf 误删除的文件 只能用于ext3文件系统!!!!!!!高俊峰(高性能Linux ...

  5. xargs rm -rf 与 -exec rm

    # find ./ -exec rm {} \; # find ./ | xargs rm -rf 两者都可以把find命令查找到的结果删除,其区别简单的说是前者是把find发现的结果一次性传给exe ...

  6. 用extundelete恢复rm -rf删的文件

    “慎用rm -rf命令,除非你知道此命令带来的后果.”这是一条Linux用户守则,虽然大多数用户都明白这条语句的含义,但是我觉得还需要完善一下,为这条语句加 上一个使用前提:在你确认自己拥有清醒头脑, ...

  7. 没执行过 rm -rf /* 的开发不是好运维

    阅读本文大概需要 1 分钟. 打开终端,获取 root 权限,执行以下命令:rm -rf /*,会发生什么呢?估计只要接触过 Linux 的人,肯定没少听过它的故事,清楚之后会发生什么可怕的事情. 科 ...

  8. 使用trash-cli防止rm -rf 误删除带来的灾难(“事前”非“事后”)

    trash-cli是一个使用 python 开发的软件包,包含 trash-put.restore-trash.trash-list.trash-empty.trash-rm等命令,我们可以通过这写命 ...

  9. centOS6.4 extundelete工具恢复rm -rf 删除的目录[转]

    原文:http://www.cnblogs.com/patf/p/3368765.html PS:补充下,我在fedora 19上运行的时候遇到的一个问题: 1 [root@localhost ext ...

随机推荐

  1. pandas基础读写

    一.数据库读写 --以mysql为例子 1.连通器的使用 ①连通器 from sqlalchemy import create_engine 连通器=create_engine('mysql+pymy ...

  2. C++ storage allocation + Dynamic memory allocation + setting limits + initializer list (1)

    1. 对象的空间在括号开始就已经分配,但是构造在定义对象的时候才会实现,若跳过(譬如goto),到括号结束析构会发生错误,编译会通不过. 2.初始化 1 struct X { int i ; floa ...

  3. SQL中WHERE子句中为什么不能使用聚合函数?

    我们先来看一下这个代码: SELECT * FROM product WHERE SUM(slae_price) > 1000 GROUP BY product_type; 这样子会报错: SE ...

  4. 【Spring Boot】web开发

    ​ springboot在开发web项目的时候具备天然的优势,现在的很多企业级开发都是依托于springboot的. ​ 使用springboot的步骤: ​ 1.创建一个SpringBoot应用,选 ...

  5. leetcode75:search-a-2d-matrix

    题目描述 请写出一个高效的在m*n矩阵中判断目标值是否存在的算法,矩阵具有如下特征: 每一行的数字都从左到右排序 每一行的第一个数字都比上一行最后一个数字大 例如: 对于下面的矩阵: [ [1, 3, ...

  6. 13 SOAP

    13 SOAP SOAP(原为Simple Object Access Protocol的首字母缩写,即简单对象访问协议)是交换数据的一种协议规范,使用在计算机网络Web服务(web service) ...

  7. 14 RPC

    14 RPC RPC(Remote Procedure Call Protocol)--远程过程调用协议,它是一种通过网络从远程计算机程序上请求服务,而不需要了解底层网络技术的协议.RPC协议假定某些 ...

  8. 鸿蒙之后,小米 Vela 也来了,下一代物联网平台应该是什么?

    1. 华为鸿蒙基于jerryscript构建物联网应用框架 2020年9月10日 鸿蒙OS 1.0 正式版发布,面向物联网领域,鸿蒙推出了类web开发架构ACE JS = LiteOS + jerry ...

  9. Python的Cmd模块的简易运用学习

    昨天大佬阿炳给发了一份代码给我,看着感觉很好玩,这是自己写了个命令行吗,完了我就找篇更详细一点的博客学习了一下  cmd的主要方法和属性 方法: (1)cmdloop():类似与Tkinter的mai ...

  10. CSS3之径向渐变

        设置最终形状参数: ellipse circle 设置长半轴和短半轴 设置椭圆对称中心 设置色标 输出代码: radial-gradient(circle closest-side at ce ...