事情始末

平时经常开玩笑,删库跑路、删库跑路,今天我真的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. java获取类路径下文件的绝对路径

    获取文件绝对路径 在idea中,默认的当前路径是project的根路径,如果你使用idea的默认路径,只要离开idea换到其他位置,可能当前路径就不是project的根路径了. 使用一下通用方式的前提 ...

  2. STC转STM32第一次开发

    目录 前言 项目 1. 模数转换,并通过OLED屏显示出来 需求: 实验器材: 接线: 源程序: 成品: 2. 简易频率计(0.1-10MHZ) 需求: 原理: 实验器材: 接线: 源程序: 写在结尾 ...

  3. php之策略模式

    策略模式:封装算法,选择所用具体实现的置业由客户对象承担. 将算法具体类,然后互相替换,不影响客户. <?php /** * 设计模式之策略模式 * User: 小狗蛋儿 * Date: 201 ...

  4. 监控-Cat项目部署

    一.Cat的项目背景 CAT(Central Application Tracking),是美团点评基于 Java 开发的一套开源的分布式实时监控系统.美团点评基础架构部希望在基础存储.高性能通信.大 ...

  5. ashx将datatable返回json数据

    1.直接使用JsonConvert.SerializeObject().将datatable放入  输出字符串 下面是测试:用webform+ashx作为接口. public class GetJso ...

  6. 内网渗透 day12-免杀框架2

    免杀框架2 目录 1. IPC管道连接 2. 查看wifi密码 3. Phantom-Evasion免杀框架的运用 4. 自解压(sfx) 5. 数字签名 6. 资源替换 1. IPC管道连接 命名管 ...

  7. LeetCode-680-验证回文字符串 Ⅱ

    给定一个非空字符串 s,最多删除一个字符.判断是否能成为回文字符串. image.png 解题思路: 判断是否回文字符串:isPalindrome = lambda x: x==x[::-1],即将字 ...

  8. JS生成限定整数区间范围内的随机整数

    对于整数区间获取随机整数: m,n均为整数,且n>m. 获取[m,n)区间内的随机整数: 1 var aNumber = (n - m) * Math.random() + m; 2 var r ...

  9. Js中函数声明和函数表达式的区别

    先看以下几段烧脑的代码: f();//=>? var f = function () { console.log("var"); } function f() { conso ...

  10. SpringMVC源码之Handler注册、获取以及请求controller中方法

    总结 对requestMappingHandlerMapping进行initializeBean时register Handler http开始请求时,initHandlerMappings,Disp ...