批量更新 squid 缓存。

范堡 发布于 2010/01/01 18:47
阅读 1K+
收藏 0

Squid 目录 bin 文件夹下有个 squidclient 的工具,用于查看缓存信息,更新缓存....的功能..

使用的方法是:

./squidclient -r "http://www.gzxxx.cn/"

更多的参数使用,可以查看 ./squidclient -h

但如果遇上大批量的文件需要更新,例如一个文件夹下所有的图片。
用下边这个小脚本可以让你省事省心。

#!/bin/sh

squidcache_path="/data/cache"  # Squid 的缓存目录

squidclient_path="/usr/local/squid/bin/squidclient"  # 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 3128 $url   # 3128 端口根据你squid的http 设置自行修改

done
############

把上边脚本内容存为 clear_squid_cache.sh 并赐予可执行权限

复制代码用法:

    然后在 squid.conf 中加入下边的配置并令其生效

 acl PURGE method PURGE
 http_access allow PURGE
 http_access deny PURGE

    最后使用脚本:

  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

加载中
返回顶部
顶部