故事的起因
今天听说顺丰的一个大佬因为误操作删除了生产库而被开掉的血案, 好像最近总是听到类似的新闻, 比方说前段时间亚马逊和百度也都传出过因为误操作而导致的血案.因为这一些列的血案,网友开始调侃从删库到跑路的梗, 同时rm -rf / 也被加入到调侃之列. 吓的我等低级程序员赶紧搜集一下防范的方案. ps:sql删库的话不同的数据库有相应的恢复策略, 这东西基本是DBA大佬才有权限动生产的权限, 但是rm使用不当即使在测试环境也有可能带来一些麻烦, 所以这里简单记录一下通过重写rm命令的方式做一个缓冲的效果, 防止rm操作失误
言归正传
以下内容是在我的centOS 7 系统下亲测通过的(参考的网上的几篇文章, 这里仅是作为记录, 非原创)
1.创建回收站目录
mkdir /home/zhangjp/.trash
2.修改/etc/bashrc文件, 加入以下内容
#####test trash from here####
alias rm=del
alias rl='ls /home/zhangjp/.trash'
alias ur=undelfile
alias ct=cleantrash
undelfile()
{
mv -i /home/zhangjp/.trash/$@ ./
}
del()
{
mv $@ /home/zhangjp/.trash/
}
cleantrash()
{
read -p "clear trash?" confirm
[ $confirm == 'y' ] || [ $confirm == 'Y' ] && /usr/bin/rm -rf /home/zhangjp/.trash/*
}
#####test trash end here#####
source /etc/bashrc
3.使用
rm ./test.sh //删除test.sh
rl //回收站文件列表
ur //撤销已删除的文件
ct //清空回收站
/usr/bin/rm -f /home/zhangjp/.trash/test.sh //删除回收站中的test.sh文件