避免误删文件:Linux回收站机制
- 昨日凌晨精神恍惚,誤刪了在虛擬機中寫的程序文件,谷歌度娘數據恢復方法失敗,使昨天的工作功虧一簣,幸好程序改動不多。現準備在所有服務器用機制來解決誤刪問題。這樣總比花時間恢復付出的代價小得多把。
1、編寫回收站腳本程序
[root@SlaveA data]# cat /bin/rm.sh ?
#!/bin/sh?
# Author steven?
# Modify 20120709?
dirpath=/data/Recycle # 選擇回收站所在的分區目錄
now=`date +%Y%m%d_%H_%M_%S_` ?
filename=${now}$1 ? # 給已經刪除的文件加一個時間前綴來標識刪除時的精準時間
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、刪除文件測試
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、編寫定時刪除回收站文件程序腳本
[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、添加計劃任務
crontab -e
1 5 * * 0 sh /root/clean_recycle.sh
7、失誤是無法避免的,我們猜不到失誤會在何時,何地,何種情況下發生。既然有這種因素存在,能用機制解決就用機制解決把。
轉載于:https://blog.51cto.com/kusorz/1755061
總結
以上是生活随笔為你收集整理的避免误删文件:Linux回收站机制的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 什么是Memcache
- 下一篇: 行业专业的移动广告聚合平台--KeyMo