事情始末

平时经常开玩笑,删库跑路、删库跑路,今天我真的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. ValueError: Unknown label type: 'continuous'

    说明:SVM训练的标签列必须为整型数值,不能为float.y = np.array(y, dtype=int)或y.astype('int')

  2. 妙用 Intellij IDEA 创建临时文件,Git 跟踪不到的那种

    | 好看请赞,养成习惯 你有一个思想,我有一个思想,我们交换后,一个人就有两个思想 If you can NOT explain it simply, you do NOT understand it ...

  3. js——事件循环

    JS-事件循环 js运行的环境称之为宿主环境. 执行栈 :call stack ,一个数据结构,用于存放各种函数的执行环境,每一个函数执行之前他的相关信息会加入到执行栈中,函数调用之前,创建执行环境, ...

  4. C++在C的基础上改进了哪些细节

    C++ 是在C语言的基础上改进的,C语言的很多语法在 C++ 中依然广泛使用,例如:  C++ 仍然使用 char.short.int.long.float.double 等基本数据类型:   ...

  5. 剑指offer之打印超过数组一半的数字

    问题描述 数组中有一个数字出现的次数超过数组长度的一半,请找出这个数字.例如输入一个长度为9的数组{1,2,3,2,2,2,5,4,2}.由于数字2在数组中出现了5次,超过数组长度的一半,因此输出2. ...

  6. 鸿蒙系统应用开发之JS实现一个简单的List

    在之前的文章鸿蒙应用开发之怎么更好的远程连接手表模拟器做调试里我运行了一个穿戴设备的应用,利用JS UI实现了一个最简单的HelloWorld. 今天我打算在智慧屏设备上利用豆瓣音乐的接口数据实现一个 ...

  7. ado.net 连接数据库

    一.用SqlConnection连接SQL Server 1..加入命名空间 using System.Data.SqlClient; 2.连接数据库 SqlConnection myConnecti ...

  8. 目录方式扩展swap分区大小

    1.查看swap大小:free  -m  (-k|m|g) --以k|m|g为单位用去尾法显示大小  [root@lbg tmp]# free -m total        used        ...

  9. Linear basis

    Linear basis is a relatively easy to learn but may not be useful algorithm. Below are two blogs that ...

  10. ceph客户端服务端属性匹配关系

    ceph的server是定期会发布版本,而它的客户端是放到linux 内核当中的,一些属性的支持是依赖于内核版本的,这样就存在一些问题,一些功能后端支持,而客户端旧了:还有可能是客户端用的很新的内核, ...