首页| 新闻| 娱乐| 游戏| 科普| 文学| 编程| 系统| 数据库| 建站| 学院| 产品| 网管| 维修| 办公| 热点
前言:之前使用官方的nginx proxy_cache作为CDN静态缓存发现该模块清理缓存是一个大问题,只能一条一条url的清除,为此写了一个批量清除缓存的脚本
主要功能包括:
1.按文件类型清理
2.按具体的文件名清理
3.按网站目录清理
下面是bash shell脚本代码,之前网上也好好多类似的脚本但是感觉都不太好还容易误导人犯错误
#!/bin/bash#Email:hello_linux@aliyun.com#Auto Clean Nginx Proxy_Cache Shell Scripts#Aunthor:sun~shell#Date:2017-02-23echo -e "/n/n"echo -n -e "/e[35;1m请输入Nginx Proxy_cache缓存的具体路径(友情提示:可以使用Tab补全功能哦!)/e[0m/e[34;5m:/e[0m"read -e pathCACHE_DIR=$pathecho -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 in1)echo -e "/e[32;1m----------------------------------------------------------------/e[0m"echo -e "/e[32;1m----------------------------------------------------------------/e[0m"echo -n -e "/e[34;1m 请输入你要删除的缓存文件类型(可以输入多个参数空格隔开)/e[0m/e[34;5m:/e[0m"read -a FILEfor i in `echo ${FILE[*]}|sed 's/ //n/g'`dogrep -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 删除成功!" donedone;;2)echo -e "/e[32;1m----------------------------------------------------------------/e[0m"echo -e "/e[32;1m----------------------------------------------------------------/e[0m"echo -n -e "/e[33;1m 请输入你要删除的缓存文件具体名称(可以输入多个参数空格隔开)/e[0m/e[34;5m:/e[0m"read -a FILEfor i in `echo ${FILE[*]}|sed 's/ //n/g'`dogrep -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 删除成功!" donedone;;3)echo -e "/e[32;1m----------------------------------------------------------------/e[0m"echo -e "/e[32;1m----------------------------------------------------------------/e[0m"echo -n -e "/e[33;1m支持的模式有:/n1.清除网站store目录下的所有缓存:test.dd.com/data/upload/shop/store/n2.清除网站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 FILEfor i in `echo ${FILE[*]}|sed 's/ //n/g'`dogrep -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 删除成功!" donedone;;*)echo "输入错误,请重新输入";;esac
总结
以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作具有一定的参考学习价值,谢谢大家对VEVB武林网的支持。
练就火眼金睛 十一种常见电脑
打印机共享提示“操作无法完成
如何查找有故障的配件
回眸一笑百魅生,六宫粉黛无颜色
岁月静美,剪一影烟雨江南
芜湖有个“松鼠小镇”
小满:小得盈满,一切刚刚好!
一串串晶莹剔透的葡萄,像一颗颗宝石挂在藤
正宗老北京脆皮烤鸭
人逢知己千杯少,喝酒搞笑图集
搞笑试卷,学生恶搞答题
新闻热点
疑难解答
图片精选
帝国cms7.2默认伪静态规则提供apac
nginx针对单个文件夹目录浏览功能
Nginx实现动静分离的示例代码
负载均衡的基本知识以及使用nginx
网友关注