for+case+find综合运用删除过期数据

 

我用的命令如下

 

 find /backup/mx14/post/ -maxdepth 3 -type f -mtime +30 -print |awk -F/ '{print $1"/"$2"/"$3"/"$4"/"$5}' |head -100 |sort -u |xargs rm -rvf

 

 

 for i in fmx1 mx1 mx2 mx14; do find /backup/$i/post/ -maxdepth 3 -type f -mtime +30 -print |awk -F/ '{print $1"/"$2"/"$3"/"$4"/"$5}'|sort -u |xargs rm -rvf; done

 

 for i in mx4 mx5 mx25; do find /sdb/$i/post/ -maxdepth 3 -type f -mtime +30 -print |awk -F/ '{print $1"/"$2"/"$3"/"$4"/"$5}'|sort -u |xargs rm -rvf; done

 

 for i in mx6 mx7 mx8 mx26; do find /sdc/$i/post/ -maxdepth 3 -type f -mtime +30 -print |awk -F/ '{print $1"/"$2"/"$3"/"$4"/"$5}'|sort -u |xargs rm -rvf; done

 

[root@gbackup1 ~]# for i in mx9 mx10 mx11 mx27; do find /sdd/$i/post/ -maxdepth 3 -type f -mtime +30 -print |awk -F/ '{print $1"/"$2"/"$3"/"$4"/"$5}'|sort -u |xargs rm -rvf; done

 

 

 

上面的命令一个个运行太麻烦了,我就把上面的命令综合到一起写了如下脚本:

 

 

#/bin/sh

 

fun_Del(){

find /sd$i/mx$j/post/ -maxdepth 3 -type f -mtime +30 -print |awk -F/ '{print $1"/"$2"/"$3"/"$4"/"$5}'|sort -u |xargs rm -rvf

}

 

for  i in b c d e f g  h

do

case $i in

 

b)

     {for j in  4 5 25 ;do fun_Del();done;}

     ;;

 

c)

    {for j in 6 7 8 26 ;do fun_Del();done;}

    ;;

 

d)

    {for j in 9 10 11 27;do fun_Del();done;}

    ;;

 

e)
    {for j in 12 13 15 28;do fun_Del();done;}
    ;;

 

f)
    {for j in 16 17 18 31;do fun_Del();done;}
    ;;

 

g)

    {for j in 19 20 21 29 30 ;do fun_Del();done;}

    ;;

 

h)

    {for j in 22 23 24 ;do fun_Del();done;}

    ;;

 

esac
done

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值