Linux自定義防誤刪腳本

通過alias rm來移動文件到一個回收站目錄
定期的在系統磁盤允許可控的使用率情況下來對文件進行刪除
因此寫了一下腳本來實現,與其說放勿刪,不如說是延遲刪除更爲確切

#!/bin/bash

auth:kaliarch

function:自定義rm命令,每天晚上定時清理

定義rm刪除命令替換腳本

CMD_SCRIPTS=$HOME/.rm_scripts.sh

定義回收站目錄

TRASH_DIR=$HOME/.TRASH_DIR
CRON_FILE=/var/spool/cron/root
BASHRC=$HOME/.bashrc

[ ! -d ${TRASH_DIR} ] && mkdir -p ${TRASH_DIR}

cat > $CMD_SCRIPTS <<EOF
PARA_CNT=\$#
TRASH_DIR=$TRASH_DIR

for i in \$*; do
DATE=\$(date +%F%T)
fileName=\$(basename \$i)
mv \$i \$TRASH_DIR/\$fileName.\$DATE
done
EOF

sed -i "s@$(grep 'alias rm=' $BASHRC)@alias rm='bash ${CMD_SCRIPTS}'@g" $BASHRC
source $HOME/.bashrc

echo "0 0 rm -rf $TRASH_DIR/" >> $CRON_FILE
echo "刪除目錄:$TRASH_DIR"
echo "刪除腳本:$CMD_SCRIPTS"
echo "請執行:source $BASHRC 來加載文件或退出當前shell重新登錄"

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章