避免 rm -rf /*删库:建立回收站机制
1. 写在前面
rm -rf /* 的形式有很多:
rm -rf /*(直接潇洒走一回)rm -rf $abc/*(变量所指不存在)rm -rf abc /*(多了一个硬核空格”“)- …
它的威力,懂的人自然懂。
对于此,除了重新认识 rm 、rm -rf以及空格,也要做一些安全措施,避免此类事情的再次发生。
2. 两种思路
以下两种思路,可能在本质上来看都是一样的:
- 将需要删除的文件移动(而不是删除)到指定的目录,比如
/trash/ - 定期清理
/trash/下的文件
但是在具体使用上还是有些区别(推荐方法二)
2.1 方法一:rm 指向mv实现的函数
参考:写了Bug,误执行 rm -fr /*,我删删删删库了,要跑路吗?
过程
-
创建回收站目录:
mkdir /home/.trash -
编写 remove.sh 脚本

-
修改
~/.bashrc, 用我们自建的remove.sh替代rm命令 -
设置 crontab,定期清空垃圾箱
如设置每天 0 点清空垃圾箱:
(1)进入编辑crontab -e(2)写入以下内容:
0 0 * * * rm -rf

最低0.47元/天 解锁文章
1149





