昨天有个工程师写了一个删除日志的bug:
...rm -rf / home/work/logs/...还好是在测试环境执行的,否则估计要跑路了。
画外音:一个“多了一个空格”的bug,看懂了么?
曾经我也干过类似的傻事,写过这样删除日志的脚本:
...cd ${log_path}rm -rf *...进入到日志目录,然后把日志都删除。
画外音:看上去没有任何问题?当目录不存在时,悲剧就发生了。
如何避免类似的删除根目录的“惨剧”发生,有这样一些建议:
一、命令替换
在生产环境把rm -rf 命令替换为mv,再写个定时shell定期清理。
画外音:模拟了回收站的功能。
二、收拢权限
帐号权限的分离,线上分配work帐号,只能够删除/home/work/logs/目录,无法删除根目录。
画外音:大公司一般线上权限管理比较规范,小公司就未必了
继续阅读与本文标签相同的文章
上一篇 :
谁说php不能搞长连接?
下一篇 :
消息顺序性为何这么难?
-
“ID串行化”是如何保证消息顺序性的?
2026-05-21栏目: 教程
-
究竟啥才是互联网架构“高可用”
2026-05-21栏目: 教程
-
怎么理解分布式、高并发、多线程?
2026-05-21栏目: 教程
-
一次彻底搞透协议设计(没做过通讯底层也没有关系)!
2026-05-21栏目: 教程
-
APP还在用域名连接后端?用IP提速N倍!
2026-05-21栏目: 教程
