重寫rm命令防止誤刪除
故事的起因
今天聽說順豐的一個大佬因為誤操作刪除了生產庫而被開掉的血案, 好像最近總是聽到類似的新聞, 比方說前段時間亞馬遜和百度也都傳出過因為誤操作而導致的血案.因為這一些列的血案,網友開始調侃從刪庫到跑路的梗, 同時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 [email protected] /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檔案