squid 缓存状况查询与清除(使用内置命令)

发布时间:2020-07-30编辑:脚本学堂
如何用squid的内置命令对缓存的状况进行删除,又该如何用内置命令清删除掉指定的缓存呢?本文就这些问题为大家作详细的介绍,有需要的朋友,可以参考学习下。

一、查看squid狀況:
 

复制代码 代码示例:
1、squidclient -t 1 -h localhost -p 80 mgr:info
2、squidclient -T 1 -p 80 -h localhost mgr:5min | grep -e client_http.req -e client_http.all_median_svc_time -e client_http.miss_median_svc_time -e client_http.hit_median_svc_time

二、如何清cache:
1、

复制代码 代码示例:
telnet localhost 80
PURGE /demo.html?xx=xx HTTP/1.1
Host: www.jb200.com

2、

复制代码 代码示例:
purge -P 1 -p localhost:80 -e "^http://www.jb200.com/demo/"

脚本文件名:clear_squid_cache.sh
 

复制代码 代码示例:
#!/bin/sh
#www.jb200.com
squidcache_path="/data1/squid/var/cache"
squidclient_path="/usr/local/squid/bin/squidclient"
grep -a -r $1 $squidcache_path/* | strings | grep "http:" | linuxjishu/13830.html target=_blank class=infotextkey>awk -F’http:’ ‘{print "http:"$2;}’ > cache_list.txt
for url in `cat cache_list.txt`; do
$squidclient_path -m PURGE -p 80 $url
done

注意:
请赋予clear_squid_cache.sh可执行权限(命令:chmod +x ./clear_squid_cache.sh).请确保脚本所在目录可写.

设置:
squidcache_path= 表示squid缓存目录的路径
squidclient_path= 表示squidclient程序所在的路径,默认为squid安装目录下的bin/squidclient

用法:
1、清除所有Flash缓存(扩展名.swf):
 

复制代码 代码示例:
./clear_squid_cache.sh swf

2、清除URL中包含jb200.com的所有缓存:
 

复制代码 代码示例:
./clear_squid_cache.sh jb200.com

3、清除文件名为jb200.com.jpg的所有缓存:
 

复制代码 代码示例:
./clear_squid_cache.sh jb200.com.jpg