一个防止服务器误删文件的脚本

2017-05-01  本文已影响0人  w也不知道

  脚本功能:把所有要 rm 掉的文件全部移动到 /tmp/$HOME 目录下;可以设置定时任务定期清理 /tmp/$HOME 目录
  具体用法:删掉原有的 rmdir 命令, 把原来的 rm 命令改名为 rmdir;接着在新的 rm 命令中写入脚本中的内容,赋予新的 rm 命令执行权限

sudo mv /bin/rmdir /etc
sudo mv /bin/rm /bin/rmdir
sudo mv rm /bin/
sudo chmod +x /bin/rm
#!/bin/bash
#Filename: rm

all=$*
ctrl=1
[ ! -d /tmp/$HOME ] && mkdir -p /tmp/$HOME
function mv_file()
{
    for file in $all;do
        # 去除参数 $1
        if [ $ctrl != 1 ];then
            mv $file /tmp/$HOME/ &>/dev/null
            # 判断移动文件是否成功
            [ $? != 0 ] && echo -e "\033[32m$file \033[0mis not exists or Permission denied"
        fi
        ctrl=$(( ctrl + 1 ))
    done
}

case $1 in
    -r)
        mv_file;;
    -f)
        mv_file;;
    -rf)
        mv_file;;
    -fr)
        mv_file;;
    *)
        echo "Usage: rm [-r|-f|-rf|-fr]";;
esac
命令执行效果
上一篇 下一篇

猜你喜欢

热点阅读