↓ 跳过正文
  1. Posts/

我在公司的服务器上执行了sudo rm -rf /*

·784 字·2 分钟

TL;DR

  * 依靠人的小心谨慎是不靠谱的,人总有失误的时候
  * 看了下docker volume的权限机制,貌似是从docker image中继承。
  * 写了两个脚本,用来把rm alias到mv,避免手滑

又是一个可以摸鱼的周五晚上,sensespider系统测试了一天,fix了几个Bug,似乎可以发布了。系统一直是部署在了docker中..这几天测试产生了不少结果文件在host的volume中… 看着不舒服,干脆删一下好了

嗯?怎么所有者是root。。。那我sudo一下,也没什么大不了的嘛

然而手滑了… 打了个 sudo rm -rf /* …

写着 sudo rm -rf 命令的恶搞动图

提示无法删除/boot device is busy…

吓了一跳,下意识Ctrl-C…

重新在本地ssh到服务器,发现已经登不上去了…报错在找不到sh

看了一下,果然服务器的/bin 目录已经被删干净了…

google了一些从rm中恢复文件的帖子…

试图用 sudo apt-get install 装一些工具包…

这个时候已经提示我找不到apt-get 了。。。

非常慌。花了3分钟思考了我到目前为止的一生

看了下scp命令还在,赶紧趁着这个终端回话还没关,把本地的/bin目录拷贝了上来。

试了下,ssh命令可以用了。 这样至少后续的修复(在不麻烦IT同事的情况下)不用跑机房了。有些镇定。

然后发现apt-get 命令还是用不了。。。思考了1分钟。。。

然后发现服务器用的是centos…….

再试了各种常用命令,试了docker相关的各种命令,都可以正常工作。

然而整个人都被吓傻了….睡了一觉才回过神。

又查了下docker volume权限的事情,发现挂载目录继承docker image中用户的权限是feature Volumes files have root owner when running docker with non-root user. 那似乎就没办法了。

以及写了两个脚本,来避免手滑,分别是zsh环境和bash环境下的。

kkrm

相关文章

docker network 与 本地 network 网段冲突

·537 字·2 分钟
起因: # 公司部署在 hk 的爬虫服务器突然挂掉了。后来发现只是在深圳办公区无法访问。排查后发现原因是 docker 的网络(包括 docker network 的 subnet 或者是某个容器的 ip)与该 host 在内网的 ip 段相同,导致冲突。

2018 to do list

·282 字·1 分钟
迫于最近的事情有点多,还是记录一下。 果然to do list什么的,还是要按照年份记录啊。 * <del>了解linux strace命令</del> * 速成go语言,并了解go于系统调用https://hackernoon.com/strace-in-60-lines-of-go-b4b76e3ecd64 * 熟悉hustoj V2版本目前的代码 * <del>看完《Code in Practice》</del> * mit 6.828 lab1。。。感觉要咕 * 看完<unix 系统系统手册>的20,21章信号部分, 为hustoj的重构补充基础知识.

20171214

·480 字·1 分钟
记得之前被人在群里刷“宽神是我们的红太阳”还不理解… 为什么我这种菜鸡要被如此对待 现在想想,大概是觉得,“111qqz那么菜的人都还一直坚持打竞赛,我为什么放弃呢”2333

20170929

·359 字·1 分钟
刚刚看了TBBT season 11 episode 1 Sheldon 和Amy 订婚了,Bernadette又怀孕了。 想想上一季结束的时候,大概半年前。 我好像还是只单身狗,手头没啥能看的offer,还有巨大的学业压力在前方。