背景
由于在服务器上执行rm命令是相当危险的行为,所以需要找到更合适的方案去替换rm命令,以减少误操作带来的危害。
1.新建remove.sh脚本,脚本内容如下:
#!/bin/bash
#create recycle dir.
REC_DIR="/home/.recycle"
[ ! -d ${REC_DIR} ] && mkdir ${REC_DIR}
for i in $*
do
#ignore "^-"
if [[ $i =~ ^- ]]
then
continue
else
REC_TIME=`date +%Y-%m-%d-%H:%M:%S`
REC_NAME=`basename $i`
mv $i ${REC_DIR}/${REC_NAME}_${REC_TIME}
fi
done
2.修改/root/.bashrc文件,如下:
[root@ ~]# cat /root/.bashrc
# .bashrc
# User specific aliases and functions
#alias rm='rm -i'
alias rm='sh /tools/scripts/remove.sh' # 添加alias指定运行脚本
alias cp='cp -i'
alias mv='mv -i'
alias ss='netstat -lntup'
# Source global definitions
if [ -f /etc/bashrc ]; then
. /etc/bashrc
fi
3.重新加载/root/.bashrc文件
source /root/.bashrc
4.添加定时任务,定期清理/home/.recycle
echo "#clear recycle refuse"
echo "0 3 * * 1 find /home/.recycle -mtime +30 | xargs /usr/bin/rm -rf &>/dev/null" >>/var/spool/cron/root