如何清除squid 缓存
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.test.com.cn/a.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
注:参照 http://www.php-oa.com/2008/03/03/squid-purge-cache.html
本文转自 freehat08 51CTO博客,原文链接:http://blog.51cto.com/freehat/737388,如需转载请自行联系原作者