改造rm命令為mv


:剛在群里面看到小伙伴誤操作把服務器上重要的文件給刪掉了,於是google了下,找到一篇文章把rm命令改造成mv命令,源博客如下:http://blog.csdn.net/dataspark/article/details/13015351,下面是步驟

1. 在/home目錄下新建兩個目錄,命名為:.trash,tools
2. 在/home/tools/目錄下,新建一個shell文件,命名為: remove.sh
PARA_CNT=$#
TRASH_DIR="/home/.trash"

for i in $*; do
    STAMP=`date +%s`
    fileName=`basename $i`
    mv $i $TRASH_DIR/$fileName.$STAMP
done

3. 修改~/.bashrc, 增加一行
alias rm="sh /home/tools/remove.sh"
用我們自建的remove.sh替代rm命令
 
4. 設置crontab,定期清空垃圾箱,如:
0 0 * * * rm -rf /home/.trash/*
每天0點清空垃圾箱
 
5. source ~/.bashrc 使替換立即生效
經過上面的步驟后,執行rm刪除的文件,會被放入垃圾箱。如果誤刪除,可以從中恢復。

3. 修改~/.bashrc, 增加一行
alias rm="sh /home/tools/remove.sh"
用我們自建的remove.sh替代rm命令
 
4. 設置crontab,定期清空垃圾箱,如:
0 0 * * * rm -rf /home/.trash/*
每天0點清空垃圾箱
 
5. source ~/.bashrc 使替換立即生效
經過上面的步驟后,執行rm刪除的文件,會被放入垃圾箱。如果誤刪除,可以從中恢復。

測試如下:

在當前目錄下創建了一個del_test目錄,然后執行rm del_test后結果如下:

可見被刪除的del_test在/home/.trash目錄里,這樣誤刪除的文件就能在這里找到。沒試過比較大的文件,小文件測試都沒問題。

寫在后面:防止服務器上文件誤操作的辦法感覺沒有,只能把風險降到最低,比如可以利用sudo限制賬號的使用命令權限,把rm命令改造成mv命令,培訓相關需要使用服務器人員linux命令操作,root權限最小化,服務器密碼只掌握在公司重要的人手上,其他一律不給密碼等。

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM