必威体育Betway必威体育官网
当前位置:首页 > IT技术

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

时间:2019-10-16 18:14:35来源:IT技术作者:seo实验室小编阅读:79次「手机版」
 

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 *

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

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

四、判断目录是否存在

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

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

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

640?wx_fmt=jpeg

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

相关推荐:

Google FileSystem架构启示》

《Google mapreduce到底解决什么问题?》

《Google BigTable到底解决什么问题?》

你干过误删库,误删数据,误删目录的傻事么?

欢迎分享。

相关阅读

11种基于ARM的嵌入式操作系统

来源于:http://www.stmcu.org/article/id-3300741、AndroidAndroid 是一个包括操作系统,中间件以及一些重要应用程序的专门针对移动

form表单提交方式

form表单提交方式总结一下: 一、利用submit按钮实现提交,当点击submit按钮时,触发onclick事件,由JavaScript里函数判断输入内容是否为

DRM之Widevine学习入门

微软和许多企业都鼓励用户、开发者使用 HTML5 的通信协议,标准化通信可以极大增加网络安全性。其中包括 W3C 的 Media Source Exte

Transformer

强烈推荐:https://jalammar.github.io/illustrated-transformer/特点: 简单明了,清晰易懂。对Transformer里的self-attention(multi-

PermitRootLogin yes无效问题

奶奶的,搞了半下午终于找到 原因。 /etc/ssh/sshd_config明明设置了PermitRootLogin 为yes,可就是用putty连,root登录不了,每次都acce

分享到:

栏目导航

推荐阅读

热门阅读