通過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重新登錄"