#!/bin/bash

#删除制定文件缓存 2021/01/18 11:22 yinyapeng  $key-指定文件 $yuname-cdn唯一标识
#例如:$key='www.baidu.com/logo.png' $yuname='FuMk1600aDmc9Ki1M01cT91i96' 
deleteCacheFile(){
    for i in $key
    do
        grep -r -a \.$i '/usr/local/openresty/cache_data/'$yuname | awk -F":" '{print $1}' | uniq  > /tmp/cache_list.txt
    done
    for j in `cat /tmp/cache_list.txt`  
    do  
        rm -f $j  
        # 删除成功
        echo "$i $j"  
    done  
}

#删除制定目录文件 2021/01/18 11:29 yinyapeng  $key-网站目录 $yuname-cdn唯一标识
#例如:$key='www.baidu.com/img/' $yuname='FuMk1600aDmc9Ki1M01cT91i96' 
deleteCacheDir(){
    for i in $key
    do
    grep -r -a $i '/usr/local/openresty/cache_data/'$yuname | awk -F":" '{print $1}' > /tmp/cache_list.txt
    done
    for j in `cat /tmp/cache_list.txt`
    do
        rm -f $j
        # 删除成功
        echo "$i $j"
    done  
}

dataline=$(cat /usr/local/openresty/shell/cache/*.txt)
if [ "$dataline" != "" ]
    then
        array=(${dataline//;/ }) 
        for var in ${array[@]}
        do
            #格式:$yuname!#!$key!#!$fs;  $fs 1-删除指定文件 2-删除指定目录 以' !#! ' 隔开!
            #例如:FuMk1600aDmc9Ki1M01cT91i96!#!yyp.lscmlr.top/logo.png!#!1;
            arr=(${var//!#!/ }) 
            yuname=${arr[0]}
            key=${arr[1]}
            if [ ${arr[2]} = 1 ]
            then
                    #对指定文件删除
                    deleteCacheFile $key $yuname
                else
                    #对指定目录删除
                    deleteCacheDir $key $yuname
            fi
            rm  -r /usr/local/openresty/shell/cache/*.txt
        done
    else
        echo '没有需要执行删除的操作'
fi
最后修改:2021 年 01 月 18 日
如果觉得我的文章对你有用,请随意赞赏