nginx proxy_cache批量清除緩存的腳本介紹
前言:之前使用官方的nginx proxy_cache作為CDN靜態(tài)緩存發(fā)現(xiàn)該模塊清理緩存是一個大問題,只能一條一條url的清除,為此寫了一個批量清除緩存的腳本
主要功能包括:
1.按文件類型清理
2.按具體的文件名清理
3.按網(wǎng)站目錄清理
下面是bash shell腳本代碼,之前網(wǎng)上也好好多類似的腳本但是感覺都不太好還容易誤導人犯錯誤
#!/bin/bash
#Email:hello_linux@aliyun.com
#Auto Clean Nginx Proxy_Cache Shell Scripts
#Aunthor:sun~shell
#Date:2017-02-23
echo -e "\n\n"
echo -n -e "\e[35;1m請輸入Nginx Proxy_cache緩存的具體路徑(友情提示:可以使用Tab補全功能哦!)\e[0m\e[34;5m:\e[0m"
read -e path
CACHE_DIR=$path
echo -e "\e[32;1m----------------------------------------------------------------\e[0m"
echo -e "\e[32;1m----------------------------------------------------------------\e[0m"
echo -n -e "\e[32;1m請輸入你要刪除的動作\n1.按文件類型刪除\t2.按具體文件名刪除\t3.按文件目錄刪除\n:"
read action
case $action in
1)
echo -e "\e[32;1m----------------------------------------------------------------\e[0m"
echo -e "\e[32;1m----------------------------------------------------------------\e[0m"
echo -n -e "\e[34;1m 請輸入你要刪除的緩存文件類型(可以輸入多個參數(shù)空格隔開)\e[0m\e[34;5m:\e[0m"
read -a FILE
for i in `echo ${FILE[*]}|sed 's/ /\n/g'`
do
grep -r -a \.$i ${CACHE_DIR}| awk 'BEGIN {FS=":"} {print $1}' > /tmp/cache_list.txt
for j in `cat /tmp/cache_list.txt`
do
rm -rf $j
echo "$i $j 刪除成功!"
done
done
;;
2)
echo -e "\e[32;1m----------------------------------------------------------------\e[0m"
echo -e "\e[32;1m----------------------------------------------------------------\e[0m"
echo -n -e "\e[33;1m 請輸入你要刪除的緩存文件具體名稱(可以輸入多個參數(shù)空格隔開)\e[0m\e[34;5m:\e[0m"
read -a FILE
for i in `echo ${FILE[*]}|sed 's/ /\n/g'`
do
grep -r -a $i ${CACHE_DIR}| awk 'BEGIN {FS=":"} {print $1}' > /tmp/cache_list.txt
for j in `cat /tmp/cache_list.txt`
do
rm -rf $j
echo "$i $j 刪除成功!"
done
done
;;
3)
echo -e "\e[32;1m----------------------------------------------------------------\e[0m"
echo -e "\e[32;1m----------------------------------------------------------------\e[0m"
echo -n -e "\e[33;1m支持的模式有:\n1.清除網(wǎng)站store目錄下的所有緩存:test.dd.com/data/upload/shop/store\n2.清除網(wǎng)站shop下的所有緩存:test.dd.com/data/upload/shop\e[0m\n"
echo -n -e "\e[34;1m 請輸入你要刪除的緩存文件具體目錄\e[0m\e[34;5m:\e[0m"
read -a FILE
for i in `echo ${FILE[*]}|sed 's/ /\n/g'`
do
grep -r -a "$i" ${CACHE_DIR}| awk 'BEGIN {FS=":"} {print $1}' > /tmp/cache_list.txt
for j in `cat /tmp/cache_list.txt`
do
rm -rf $j
echo "$i $j 刪除成功!"
done
done
;;
*)
echo "輸入錯誤,請重新輸入"
;;
esac
總結
以上就是這篇文章的全部內容了,希望本文的內容對大家的學習或者工作具有一定的參考學習價值,謝謝大家對腳本之家的支持。如果你想了解更多相關內容請查看下面相關鏈接
相關文章
Nginx配置SSL證書部署HTTPS網(wǎng)站的方法(頒發(fā)證書)
這篇文章主要介紹了Nginx配置SSL證書部署HTTPS網(wǎng)站的方法(頒發(fā)證書),小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2018-06-06
Nginx報403 forbidden錯誤 (13: Permission denied)的解決辦法
這篇文章主要介紹了Nginx報403 forbidden錯誤 (13: Permission denied)的解決辦法,引起nginx 403 forbidden通常是三種情況:一是缺少索引文件,二是權限問題,三是SELinux狀態(tài)。具體內容詳情大家可以參考下本文2017-01-01
nginx正向代理http和https的實現(xiàn)步驟
本文主要介紹了nginx正向代理http和https的實現(xiàn)步驟,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧2023-07-07
解決nginx 503 Service Temporarily Unavailable方法示例
這篇文章主要介紹了解決nginx 503 Service Temporarily Unavailable方法示例,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧2019-12-12

