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

本文通过实际案例警示在使用rm-rf命令时可能遇到的风险,尤其是当命令在错误的目录中执行时可能导致的严重后果。文章提出了四种预防措施,包括命令替换、权限收拢、使用&&连接命令以及判断目录存在性,旨在帮助读者规避类似风险。
摘要由CSDN通过智能技术生成

上班前的时间看到了架构师之路的发文,觉得意义重大,发出来警醒自己,谨记谨记!!!

文章转自https://mp.weixin.qq.com/s/AVGu8P5oQI4iNRRPY5h6Qw,侵删。

昨天有个工程师写了一个删除日志的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 *
当前半句执行失败的时候,后半句不再执行。
画外音:这个小技巧很赞。

四、判断目录是否存在
制定编码规范,对目录进行操作之前,要先判断目录是否存在。
画外音:靠人的自觉来保证规范的执行,总感觉有些不太靠谱。当然,规范是有必要的。

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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值