Squid web缓存加速软件。Squid会在设置的缓存目录下建立多个目录,每一个目录下又建立多个目录,然后才在最里层的目录中存放缓存文件(object)。squid会根据用户请求网页的URL进行哈希,生成缓存文件,存放在某一个目录中。squid启动之后,将在内存中建立一个哈希表,记录硬盘中缓存文件配置的情形。
  对于类似http://www.test.com/index.html之类的网页,squid只会生成一个缓存文件。可以用squid附带的squidclient工具清除:
引用
squidclient -m PURGE -p 80 http://www.test.com/index.html

脚本文件名:clear_squid_cache.sh
引用
#!/bin/sh
squidcache_path="/data1/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;}' | grep [a-zA-Z0-9]$ > 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中包含test.com的所有缓存:
  ./clear_squid_cache.sh test.cn
  3、清除文件名为test.jpg的所有缓存:
  ./clear_squid_cache.sh test.jpg
如果对于频繁更新的gif或者什么,可以在crontab中添加对应的命令行
0 * * * * /usr/local/bin/clear_squid_cache.sh gif &
这样就会每隔一个小时进行一次刷新操作了,很是方便