歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
您现在的位置: Linux教程網 >> UnixLinux >  >> Linux基礎 >> Linux教程

避免誤刪文件:Linux回收站機制

誤刪了在Linux虛擬機中寫的程序文件,谷歌度娘數據恢復方法失敗,使昨天的工作功虧一篑,幸好程序改動不多。現准備在所有服務器用機制來解決誤刪問題。這樣總比花時間恢復付出的代價小得多把。

1、編寫回收站腳本程序

  1. [root@SlaveA data]# cat /bin/rm.sh  
  2. #!/bin/sh 
  3. # Author steven 
  4. # Modify 20120709 
  5. dirpath=/data/Recycle # 選擇回收站所在的分區目錄
  6. now=`date +%Y%m%d_%H_%M_%S_` 
  7. filename=${now}$1  # 給已經刪除的文件加一個時間前綴來標識刪除時的精准時間
  8. if [ ! -d ${dirpath} ];then 
  9.         /bin/mkdir -p ${dirpath} 
  10. fi 
  11. /bin/mv $1 ${dirpath}/${filename} 

2、其他步驟

chmod 755 /bin/rm.sh

echo "alias rm='/bin/rm.sh'" >> /etc/bashrc 

3、刪除文件測試

rm  /root/text.txt

此時,text.txt文件就會被mv 到 回收站目錄 /data/Recycle

4、刪除回收站文件

/bin/rm -rf /data/Recycle/text.txt

5、回收站機制是為了解決不小心誤刪問題,如果確定某個文件永久刪除則直接刪除

/bin/rm -rf  filename

6、為防止回收站目錄遺留文件過多而占用太多的硬盤資源,使用crontab定時刪除歷史文件

a、編寫定時刪除回收站文件程序腳本

  1. [root@SlaveA ~]# cat clean_recycle.sh  
  2. #!/bin/sh 
  3. # AUthor steven 
  4. # Modify 20120709 
  5. dirpath=/data/Recycle/ 
  6. /bin/find ${dirpath} -mtime +30  -exec /bin/rm -rf {} \;  # 30 天
  7. #注意:此處是 /bin/rm -rf
     

b、添加計劃任務

crontab -e

1 5 * * 0 sh /root/clean_recycle.sh

7、失誤是無法避免的,我們猜不到失誤會在何時,何地,何種情況下發生。既然有這種因素存在,能用機制解決就用機制解決把。

Copyright © Linux教程網 All Rights Reserved