红联Linux门户
Linux帮助

Squid缓存清除的方法

发布时间:2014-11-29 09:42:10来源:linux网站作者:freehat

1 首先在squid 的主配置文件中添加acl 列表,并允许受信任的主机有权限清除缓存 
acl  managercache   src 192.168.1.145 127.0.0.1
acl   Purge  method PURGE
http_access allow  managercache Purge
http_access  deny Purge


2 清除squid 中一条缓存
/usr/local/squid/bi/squidclient -h  192.168.1.145 -p 80 -m PURGE http://www.linux.com/404.html


3 批量清除squid 缓存中的文件
脚本如下
#!/bin/sh
squidcache_path="/usr/local/squid/var/cache/"
squidclient_path="/usr/local/squid/bin/squidclient"
grep -a -r $1 $squidcache_path/* | strings | grep "http:" | 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
注:squidcache_path 是squid 缓存路径
squidclient_path 是squidclient 命令的 路径
-p  是指定squid 监听的端口
并给clearcache.sh    执行权限
#chmod +x  clearcache.sh

 
4  使用方法
用法:
 
1、清除所有Flash缓存(扩展名.swf):
./clear_squid_cache.sh swf
 
2、清除URL中包含sina.com.cn的所有缓存:
./clear_squid_cache.sh sina.com.cn
 
3、清除文件名为zhangyan.jpg的所有缓存:
./clear_squid_cache.sh zhangyan.jpg