第一步
说明
只需把这个脚本按自己的情况修改一下就可以使用
需要赋予脚本777权限
需要用这脚本,代替/bin/rm脚本
第二步
shell脚本
#!/bin/bash
# Author Attitude
# Modify 2018/12/26
pw=$2
pq=${pw: -1}
p=/
if [ $pq == $p ];then
echo $pw > /dev/null
else
pw=$pw/
fi
function rm()
{
pa=$(echo $pw | grep -o / | wc -l)
if [ $pa -le 1 ];then
pr=$(echo $pw | cut -d "/" -f 1,100)
ps=$(echo $pw | cut -d "/" -f 1,100)
else
if [ $pa -le 2 ];then
pr=$(echo $pw | cut -d "/" -f 1,2,100)
ps=$(echo $pw | cut -d "/" -f 2,100)
else
if [ $pa -le 3 ];then
pr=$(echo $pw | cut -d "/" -f 1,2,3,100)
ps=$(echo $pw | cut -d "/" -f 3,100)
else
if [ $pa -le 4 ];then
pr=$(echo $pw | cut -d "/" -f 1,2,3,4,100)
ps=$(echo $pw | cut -d "/" -f 4,100)
else
if [ $pa -le 5 ];then
pr=$(echo $pw | cut -d "/" -f 1,2,3,4,5,100)
ps=$(echo $pw | cut -d "/" -f 5,100)
else
if [ $pa -le 6 ];then
pr=$(echo $pw | cut -d "/" -f 1,2,3,4,5,6,100)
ps=$(echo $pw | cut -d "/" -f 6,100)
else
echo "最多只能跨6个目录删除"
exit
fi
fi
fi
fi
fi
fi
Store=/tmp/.rm
time=$(date +%Y-%m-%d)
timee=$(date +%Y-%m.%d-%H:%M:%S)
if [ ! -d $Store ];then
mkdir "$Store"
chmod 777 "$Store"
fi
if [ ! -d "$Store"/"$time" ];then
mkdir ${Store}/${time}
chmod 777 ${Store}/${time}
if [ ! -d "$Store"/"$time" ];then
echo "删除机制出错,请联系运维:江松泉-13502688385"
else
mv "$pr" "$Store"/"$time"/"$ps"."$timee" #1>&2 2>/dev/null
if [ ! -d $ps ];then
echo "已删除至回收站*如果意外删除,请及时联系运维:江松泉-13502688385"
else
echo "删除文件失败*请检查文件/目录是否正在使用或联系运维:江松泉-13502688385"
fi
fi
else
mv "$pr" "$Store"/"$time"/"$ps"."$timee" #1>&2 2>/dev/null
if [ ! -d $ps ];then
echo "已删除至回收站,如果意外删除,请及时联系运维:江松泉-13502688385"
else
echo "删除文件失败,请检查文件/目录是否正在使用或联系运维:江松泉-13502688385"
fi
fi
##删除
pash=/tmp/.rm/
quantity=$(ls "$pash" | wc -l)
while [ $quantity -gt 3 ]
do
que=$(ls "$pash" | sed -n 1p)
/root/.rm -rf "$pash""$que"
quantity=$(ls "$pash" | wc -l)
done
}
case $1 in
-rf)
rm;;
-fr)
rm;;
-r)
rm;;
-f)
rm;;
*)
echo -e "\033[0;31m Usage: \033[0m \033[0;34m rm的选项只能填写 {-rf|-fr|-r|-f} \033[0m"
esac
这脚本使用的时候是必须带选项的
如果想要可以不带选项的rm脚本,可以自己修改一下,也可以参考linux回收站脚本之一
shell大神看看别喷,本人还是菜鸟一员
转载请注明原文链接:shell 脚本 --- linux回收站脚本之二
共有 0 条评论