nginx proxy_cache批量清除緩存的腳本介紹
前言:之前使用官方的nginx proxy_cache作為CDN靜態(tài)緩存發(fā)現(xiàn)該模塊清理緩存是一個大問題,只能一條一條url的清除,為此寫了一個批量清除緩存的腳本
主要功能包括:
1.按文件類型清理
2.按具體的文件名清理
3.按網(wǎng)站目錄清理
下面是bash shell腳本代碼,之前網(wǎng)上也好好多類似的腳本但是感覺都不太好還容易誤導(dǎo)人犯錯誤
#!/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
總結(jié)
以上就是這篇文章的全部內(nèi)容了,希望本文的內(nèi)容對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,謝謝大家對腳本之家的支持。如果你想了解更多相關(guān)內(nèi)容請查看下面相關(guān)鏈接
相關(guān)文章
騰訊云CentOS 6.6快速安裝 Nginx服務(wù)器圖文教程
本文通過圖文并茂的形式給大家介紹了騰訊云CentOS 6.6快速安裝 Nginx服務(wù)器的方法,介紹的非常詳細,具有參考借鑒價值,感興趣的朋友一起看看吧2016-09-09解析prometheus+grafana監(jiān)控nginx的方法
?在prometheus需要向ngxin中打入探針,通過探針獲取ngxin信息,并通過接口輸出。下文將講述如何監(jiān)控ngxin,感興趣的朋友跟隨小編一起看看吧2021-11-11Nginx生產(chǎn)環(huán)境平滑升級的實現(xiàn)
本文主要介紹了Nginx生產(chǎn)環(huán)境平滑升級的實現(xiàn),文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2023-03-03nginx 1.0.0配ngx_cache_purge實現(xiàn)高效的反向代理
nginx默認安裝就會帶有反向代理的功能,但想要更好的使用,還得配備frickle.com的ngx_cache_purge模塊,用于清除指定URL的緩存。2011-06-06