Linux自定義防誤刪腳本

以前看公司師傅作了一個linux下的回收站腳本。感受頗有想法,所以做文檔以記錄。
其原理爲:修改系統內部的rm命令使用mv命令代提後將刪除的文件保存在某個目錄下,避免刪除誤操做。
後續能夠使用cron按期的在回收站目錄下的文件,也可用於恢復。
備註:cron定時任務中的/bin/rm能夠使用系統的環境變量, 不受用戶的環境變量影響。
如下是腳本內容:
#!/bin/bash
#Description:
#Author:L.Wang
#Version:1.0
#CreateTime:2018-10-23 17:08:56linux

#!/bin/bash
#定義rm刪除腳本
CMD_SCRIPTS=$HOME/.rm_scripts.shshell

#定義回收站目錄
RECYCLE_DIR=$HOME/.RECYCLE_DIR
BASHRC=$HOME/.bashrcbash

[ ! -d ${RECYCLE_DIR} ] && mkdir -p ${RECYCLE_DIR}ide

cat > ${CMD_SCRIPTS} << EOF
PARA_CNT=\$# #將參數個數傳遞給變量PARACNT
RECYCLE
DIR=$RECYCLE_DIR #定義部分變量,不可刪除。ip

for i in \$*;do
DATE=\$(date +%F-%T)
filename=\$(basename \$i)
mv \$i \$RECYCLE_DIR/\$filename.\$DATE
done
EOF文檔

sed -i "s@$(grep 'alias rm=' $BASHRC)@alias rm='bash ${CMD_SCRIPTS}'@g" $BASHRC #替換自己的rm命令
. $BASHRC #從新加載配置。it

echo "設置定時任務刪除幾天前的文件,結合實際補充 。"
echo "刪除目錄: $RECYCLE_DIR"
echo "刪除腳本: $CMD_SCRIPTS"
echo "請執行:source $BASHRC來加載文件或者退出當前shell從新登陸!"io

相關文章
相關標籤/搜索