事情始末

平时经常开玩笑,删库跑路、删库跑路,今天我真的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. 转载-Eclipse无法打开Eclipse MarketPlace的解决办法

    问题描述: Eclipse点击 help-->Eclipse MarketPlace 后无任何反应,无报错,打不开 解决方法: 重新安装一下 epp MarketPlace help--> ...

  2. 用GitHub Pages搭建博客(七)

    本篇介绍百度统计.百度搜索 一般来讲,部署了一个网站后,我们需要知道网站的浏览量,以便知道网站是否有人访问. 在Jekyll的模板中,由于国外开发者更多,一般的主题默认都开发了谷歌统计(Google ...

  3. js 元素添加多个监听

    function addListener(element,e,fn){     if(element.addEventListener){         element.addEventListen ...

  4. 使用 c++ 模板显示实例化解决模板函数声明与实现分离的问题

    问题背景 开始正文之前,做一些背景铺垫,方便读者了解我的工程需求.我的项目是一个客户端消息分发中心,在连接上消息后台后,后台会不定时的给我推送一些消息,我再将它们转发给本机的其它桌面产品去做显示.后台 ...

  5. SQL2005数据库可疑的解决方法

    sqlserver数据库标注为可疑的解决办法 一般引起可疑的原因是突然断电,服务器死机,强制关机导致正在运行的数据库文件损坏,需要进行修复.方法一:USE MASTER GOSP_CONFIGURE ...

  6. js给多级复杂动态变量赋值

    1 function SetVal(field, val) { 2 var arr = field.split("."); 3 var str = arr[0]; 4 if (wi ...

  7. C语言I博课作业04

    这个作业属于哪个课程 C语言程序设计II 这个作业要求在哪里 https://edu.cnblogs.com/campus/zswxy/SE2020-1/homework/11489 我在这个作业课程 ...

  8. servlet的简单介绍

    servlet简介: Servlet是一种Web服务器端编程技术,实现了特殊接口的Java类. 由支持Servlet的Web服务器调用和启动运行. 一个Servlet负责对应的一个或一组URL访问请求 ...

  9. 中介者模式及在NetCore中的使用MediatR来实现

    在现实生活中,常常会出现好多对象之间存在复杂的交互关系,这种交互关系常常是"网状结构",它要求每个对象都必须知道它需要交互的对象.例如,每个人必须记住他(她)所有朋友的电话:而且, ...

  10. 《.NET 5.0 背锅案》第3集-剧情反转:EnyimMemcachedCore 无罪,.NET 5.0 继续背锅

    今天晚上基于第2集中改进版的 EnyimMemcachedCore 进行了发布,发布过程中故障重现,最大的嫌犯 EnyimMemcachedCore 被证明无罪,暂时委屈 .NET 5.0 继续背锅. ...