誤刪了在虛擬機(jī)中寫的程序文件,谷歌度娘數(shù)據(jù)恢復(fù)方法失敗,工作功虧一簣,幸好程序改動(dòng)不多。現(xiàn)準(zhǔn)備在所有服務(wù)器用機(jī)制來解決誤刪問題。這樣總比花時(shí)間恢復(fù)付出的代價(jià)小得多把。
1、編寫回收站腳本程序
[root@SlaveA data]# cat /bin/rm.sh
#!/bin/sh
# Author steven
# Modify 20120709
dirpath=/data/Recycle # 選擇回收站所在的分區(qū)目錄
now=`date +%Y%m%d_%H_%M_%S_`
filename=${now}$1 # 給已經(jīng)刪除的文件加一個(gè)時(shí)間前綴來標(biāo)識(shí)刪除時(shí)的精準(zhǔn)時(shí)間
if [ ! -d ${dirpath} ];then
/bin/mkdir -p ${dirpath}
fi
/bin/mv $1 ${dirpath}/${filename}
2、其他步驟
chmod 755 /bin/rm.sh
echo "alias rm='/bin/rm.sh'" 》 /etc/bashrc
3、刪除文件測(cè)試
rm /root/text.txt
此時(shí),text.txt文件就會(huì)被mv 到 回收站目錄 /data/Recycle
4、刪除回收站文件
/bin/rm -rf /data/Recycle/text.txt
5、回收站機(jī)制是為了解決不小心誤刪問題,如果確定某個(gè)文件永久刪除則直接刪除
/bin/rm -rf filename
6、為防止回收站目錄遺留文件過多而占用太多的硬盤資源,使用crontab定時(shí)刪除歷史文件
a、編寫定時(shí)刪除回收站文件程序腳本
[root@SlaveA ~]# cat clean_recycle.sh
#!/bin/sh
# AUthor steven
# Modify 20120709
dirpath=/data/Recycle/
/bin/find ${dirpath} -mtime +30 -exec /bin/rm -rf {} /; # 30 天
#注意:此處是 /bin/rm -rf
b、添加計(jì)劃任務(wù)
crontab -e
1 5 * * 0 sh /root/clean_recycle.sh
7、失誤是無法避免的,我們猜不到失誤會(huì)在何時(shí),何地,何種情況下發(fā)生。既然有這種因素存在,能用機(jī)制解決就用機(jī)制解決把。
新聞熱點(diǎn)
疑難解答
圖片精選