rm -rf * 了咋办,跑路吗?

简介: 一分钟不长,希望大家有收获。

昨天有个工程师写了一个删除日志的bug:

...
rm -rf / home/work/logs/

...

还好是在测试环境执行的,否则估计要跑路了。

画外音:一个“多了一个空格”的bug,看懂了么?

曾经我也干过类似的傻事,写过这样删除日志的脚本:

...

cd ${log_path}

rm -rf *

...

进入到日志目录,然后把日志都删除。

画外音:看上去没有任何问题?当目录不存在时,悲剧就发生了。

如何避免类似的删除根目录的“惨剧”发生,有这样一些建议:

一、命令替换

在生产环境把rm -rf 命令替换为mv,再写个定时shell定期清理。

画外音:模拟了回收站的功能。

二、收拢权限

帐号权限的分离,线上分配work帐号,只能够删除/home/work/logs/目录,无法删除根目录。

画外音:大公司一般线上权限管理比较规范,小公司就未必了,搞不好所有的小伙伴都有权限在线上乱搞。

三、使用&&

可以通过“&&”,将

cd ${log_path}

rm -rf *

合并成一个语句

cd ${log_path} && rm -rf *

当前半句执行失败的时候,后半句不再执行。

画外音:这个小技巧很赞。

四、判断目录是否存在

制定编码规范,对目录进行操作之前,要先判断目录是否存在。

画外音:靠人的自觉来保证规范的执行,总感觉有些不太靠谱。当然,规范是有必要的。

一分钟不长,希望大家有收获。

image.png
架构师之路-分享可落地的技术文章

相关实践学习
日志服务之使用Nginx模式采集日志
本文介绍如何通过日志服务控制台创建Nginx模式的Logtail配置快速采集Nginx日志并进行多维度分析。
目录
相关文章
|
3月前
|
JavaScript Docker 容器
Docker中文件拷贝命令的详细解释与真实案例
Docker中文件拷贝命令的详细解释与真实案例
59 0
|
7月前
|
安全 程序员 Linux
删库跑路?掌握rm命令的技巧,高效删除文件和目录!
删库跑路?掌握rm命令的技巧,高效删除文件和目录!
209 0
|
9月前
|
网络安全
rm -rf 误删除数据如何进行恢复
rm -rf 误删除数据如何进行恢复
986 0
|
11月前
|
Web App开发 开发者 Python
用个小技巧,趁你不备,rm -rf你的电脑
用个小技巧,趁你不备,rm -rf你的电脑
62 0
|
11月前
|
Shell
shell脚本之---驯服可怕的rm命令
shell脚本之---驯服可怕的rm命令
|
安全 Unix 程序员
程序员笑话常客:"rm -rf *" 和"rm -rf /*"的区别
"rm -rf *" 和 "rm -rf /*" 都经常出现在程序员的玩笑中,可他们的严重程度却是不一样的,一起来看看吧
1582 0
|
NoSQL Java Linux
docker-compose下的java应用启动顺序两部曲之一:问题分析
在docker-compose编排多个容器时,需要按实际情况控制各容器的启动顺序,本文分析启动顺序的重要性,以及启动顺序有问题时会有什么样的影响,再给出临时解决的和官方推荐的两种解决方案,为下一篇的实战做好铺垫
243 0
docker-compose下的java应用启动顺序两部曲之一:问题分析
|
Linux Shell Perl
rm命令弱爆了!(二)
rm命令弱爆了!
171 0
rm命令弱爆了!(二)
|
Linux
rm命令弱爆了!(一)
rm命令弱爆了!
152 0
rm命令弱爆了!(一)
|
运维 容灾 关系型数据库
rm -rf​删库跑路?揭开数据库年薪30w的秘密。
rm -rf​删库跑路?揭开数据库年薪30w的秘密。
205 0
rm -rf​删库跑路?揭开数据库年薪30w的秘密。

热门文章

最新文章