天天看点

squid缓存清除的方法

    如何清除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,如需转载请自行联系原作者