清除指定squid缓存文件的脚本[原创]

转载 2007年09月12日 01:59:00
原贴:

[文章作者:张宴 本文版本:v1.0 最后修改:2007.08.02 转载请注明出处:http://blog.s135.com]

  Squid web缓存加速软件目前已经是新浪、搜狐、网易等各大网站广泛应用。Squid会在设置的缓存目录下建立多个目录,每一个目录下又建立多个目录,然后才在 最里层的目录中存放缓存文件(object)。squid会根据用户请求网页的URL进行哈希,生成缓存文件,存放在某一个目录中。squid启动之后, 将在内存中建立一个哈希表,记录硬盘中缓存文件配置的情形。

  对于类似http://you.video.sina.com.cn/index.html之类的网页,squid只会生成一个缓存文件。可以用squid附带的squidclient工具清除:
引用
squidclient -m PURGE -p 80 "http://you.video.sina.com.cn/index.html"


  而对于带有参数的网页,例如新浪播客的Flash播放器http://vhead.blog.sina.com.cn/player/outer_player.swf?auto=0&vid=4469852&uid=1278987704, 因“?”后面的参数不同,导致URL也不同,squid会生成多个缓存文件,哈希分散存放在不同的目录。如果修改了这个outer_player.swf 文件,要更新squid缓存就要去清除不同目录下及内存中的很多个缓存文件,十分麻烦,于是我编写了一个Linux下的shell脚本,去完成这件麻烦的 事:

  脚本文件名:clear_squid_cache.sh(8月2日修正了UC网友“城市中的寂寞”反馈的BUG)
引用
#!/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;}' > 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中包含sina.com.cn的所有缓存:
  ./clear_squid_cache.sh sina.com.cn

  3、清除文件名为zhangyan.jpg的所有缓存:
  ./clear_squid_cache.sh zhangyan.jpg

  效率:
  经测试,在DELL 2950上清除26000个缓存文件用时2分钟左右。平均每秒可清除缓存文件177个。 

squid 使用手册第四章 squid定期清理缓存

昨天小孙,说新的内容发布不上去,没有办法更新,而是那个tom猫。 今天回来,看了一下情况确实是这样,别的电脑不能访问,但是服务的tomcat启动很正常。 解决步骤: 1、先关闭防火墙,别的电脑就...
  • chen3888015
  • chen3888015
  • 2012年03月19日 16:49
  • 1262

清除指定squid缓存文件的脚本[原创]

[文章作者:张宴 本文版本:v1.0 最后修改:2007.08.02 转载请注明出处:http://blog.s135.com]  Squid web缓存加速软件目前已经是新浪、搜狐、网易等各大网站广...
  • joliny
  • joliny
  • 2008年03月12日 11:32
  • 703

【转贴】清除指定squid缓存文件的脚本

原文:http://blog.s135.com/read.php/270.htm  Squid web缓存加速软件目前已经是新浪、搜狐、网易等各大网站广泛应用。Squid会在设置的缓存目录下建立多个目...
  • x86
  • x86
  • 2008年05月23日 10:14
  • 852

清除指定squid缓存文件的脚本

[文章作者:张宴 本文版本:v1.0 最后修改:2007.08.02 转载请注明出处:http://blog.s135.com]   Squid web缓存加速软件目前已经是新浪、搜狐、网易等各...
  • xo_zhang
  • xo_zhang
  • 2013年07月15日 17:09
  • 544

squid删除指定url的缓存配置

1,配置权限 #cache manager acl managercache src 192.168.60.237 127.0.0.1 acl Purge method PURG...
  • joeyon
  • joeyon
  • 2015年06月19日 15:21
  • 733

squid 缓存规则验证

wsCache的缓存规则验证 1. 测试环境      注意事项:       (1)服务器端得添加防火墙规则或者直接关闭,测试的话建议直接关闭!      (2)保持源站,缓存服务器,客...
  • wstanght
  • wstanght
  • 2014年07月30日 22:41
  • 1824

Squid缓存服务器

squid生成的文件   /etc/NetworkManager/dispatcher.d/20-squid   控制脚本。 /etc/httpd/conf.d/squid.conf ...
  • tangshiweibbs
  • tangshiweibbs
  • 2017年05月02日 09:17
  • 368

清除缓存文件

清除缓存
  • baidu_15855419
  • baidu_15855419
  • 2016年01月28日 14:42
  • 219

代理缓存服务-squid

一 Squid简介    代理缓存服务器:接收到用户请求后,自动下载指定资源并存储到本地服务器,以后用户请求相同资源时,直接把存储在本地服务器的资源直接传给用户。    Squid服务程序支持HTTP...
  • HzSunshine
  • HzSunshine
  • 2017年01月19日 17:04
  • 1471

清除Squid缓存的小工具

[ 2007-11-2 17:49 | by 张宴 ]   以前我写过一篇《清除指定squid缓存文件的脚本》,但在取URL时存在10%的错误率。如今找到一款老外的程序,可以批量清除某类URL...
  • 21aspnet
  • 21aspnet
  • 2011年07月04日 18:52
  • 2055
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章: 清除指定squid缓存文件的脚本[原创]
举报原因:
原因补充:

(最多只允许输入30个字)