当前位置:  开发笔记 > 前端 > 正文

Shell脚本实现精准清除Squid缓存

这篇文章主要介绍了Shell脚本实现精准清除Squid缓存,本文脚本是张宴同学脚本的个人优化版,生产环境使用效果不错,所以分享给大家,需要的朋友可以参考下

此脚本是在张宴的缓存清理脚本上做了修改的,主要是增加if选项,并根据$1参数类型来选择性的列出缓存文件所在地址(因为$1并不固定,有时是特定的jpg类型,有时是域名)目前在自己的Squid缓存服务器上应用,感觉采集缓存网址基本上没什么误差了,欢迎大家试用,争取将此脚本做到更加完美(此脚本在Centos5.4 x86_64,Squid2.7下通过)脚本内容如下:

复制代码 代码如下:

#!/bin/sh
squidcache_path="/usr/local/squid/var/cache"
squidclient_path="/usr/local/squid/bin/squidclient"
if [[ "$1" =~ swf|png|jpg|ico|gif|css|js|htm|html|shtml ]]; then
grep -a -r .$1 $squidcache_path/* | strings | grep "http:" | awk -F 'http:' '{print "http:"$2;}' |  awk -F\' '{print $1}' > cache.txt
else
grep -a -r $1 $squidcache_path/* | strings | grep "http:" | awk -F 'http:' '{print "http:"$2;}' |  awk -F\' '{print $1}' > cache.txt
fi
while read LINE
do
$squidclient_path -h 122.70.148.51 -p 80 -m PURGE $LINE
done < cache.txt

推荐阅读
地之南_816
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有