`
xiaolin0199
  • 浏览: 565414 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
社区版块
存档分类
最新评论

Squid清除缓存

 
阅读更多

在这里详述 Squid清除缓存。

 

squid清除Cache命令总结 

 

批量清除Cache的工具:

 

http://www.wa.apana.org.au/~dean/squidpurge/

 

wget http://www.wa.apana.org.au/~dean ... 20040201-src.tar.gz

tar zxvf purge-20040201-src.tar.gz

cd purge

make

 

清除Squid缓存示例:

  1、清除 URL 以“.mp3”结尾的缓存文件(例如 http://www.s135.com/abc.mp3、http://www.s135.com/01/a.mp3)

 

./purge -p localhost:80 -P 1 -se '\.mp3$'

 

  2、清除URL中包含s135.com的所有缓存:

 

./purge -p localhost:80 -P 1 -se 's135.com'

 

  我喜欢将程序推到后台去执行,让它慢慢地去清Squid缓存,同时将输出内容记录到purge.log文件:

 

./purge -p localhost:80 -P 1 -se 's135.com' > purge.log 2>&1 &

 

 

= 方法二 =

 

脚本 clear_squid_cache.sh 

#!/bin/sh
squidcache_path="/var/squid/cache"
squidclient_path="/usr/local/sbin/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

 

直接用命令清除一个图片的缓存

sudo /usr/local/sbin/squidclient -m PURGE -p 3338 http://www.icgoo.net/icgoo/portal_skins/Icgoo_images/topbanner9_24.jpg 

 

 

成功的话,显示如下提示 :

%sudo /usr/local/sbin/squidclient -m PURGE -p 3338 http://www.icgoo.net/icgoo/portal_skins/Icgoo_images/topbanner9_24.jpg/
HTTP/1.0 200 OK
Server: squid/2.7.STABLE9
Date: Tue, 25 Sep 2012 09:37:03 GMT
Content-Length: 0
Expires: Tue, 25 Sep 2012 09:37:03 GMT
X-Cache: MISS from www2.icgoo.net
Via: 1.0 www2.icgoo.net:3338 (squid/2.7.STABLE9)
Connection: close

 

 

 

还有一个

 

 开发经常会要求清squid缓存...

很无奈,只好用squid的PURGE清除缓存

PUGRE是一种有点危险的http请求

squid.conf中加配置如下:

acl AdminBoxes src 127.0.0.1
acl Purge method PURGE
http_access allow AdminBoxes Purge
http_access deny Purge

 

 

//只允许本地PUGRE

 

 

用例如下:

squidclient -h xx.xx.xx.xx -p 80 -U xxx@gmail.com -W password -m PURGE http://img1.sss.com/js/s_code.js

 

 

放在脚本clear_squid_cache.sh中调用:

#!/bin/sh
squidcache_path="/opt/xx/squid/var/cache"
squidclient_path="/opt/xx/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 -p 80 -U david.chenfuwei@gmail.com -W tuniu2906 -m PURGE -p 80 $url
done

 

 

这个是张宴的脚本 

 

分享到:
评论

相关推荐

    Shell脚本实现精准清除Squid缓存

    主要介绍了Shell脚本实现精准清除Squid缓存,本文脚本是张宴同学脚本的个人优化版,生产环境使用效果不错,所以分享给大家,需要的朋友可以参考下

    清除指定squid缓存文件的脚本代码分享

    可以用squid附带的squidclient工具清除: squidclient -m PURGE -p 80 “http://jb51.net/index.html” 而对于带有参数的网页,例如新浪播客的Flash播放器http://vhead.blog.sina.com.cn/player/outer_player.swf?a

    Linux1-代理服务器--清除代理服务器上cache记录.doc

    图11-72 关闭squid代理服务器 然后,输入"rm –rf /tmp/cache"命令(指定缓存文件的目录),按【回车】键,清除cache目录内容。 接着,输入"squid –z"命令,按【回车】键,重新建立cache目录,如图11- 73所示。 图...

    Shell脚本批量清除Nginx缓存

    前言*随着整个互联网的发展,产生了无数大大小小的网站,随之而来用户对网站UI和速度体验也在日益加强,对企业或者个人来说,赢得用户...对于网站缓存,目前主流的HTTP加速器主要有Varnish、Nginx_proxy、Squid等,随

    varnish-6.1.1.tgz

    由于varnish先进的设计理念,性能要比squid高上许多,varnish还可以通过端口进行管理,使用正则语句做到清除指定缓存的功能,这些squid都做不到。但是varnish在高并发的情况下,资源消耗较高,而且varnish服务进程...

    varnish-4.1.11.tgz

    由于varnish先进的设计理念,性能要比squid高上许多,varnish还可以通过端口进行管理,使用正则语句做到清除指定缓存的功能,这些squid都做不到。但是varnish在高并发的情况下,资源消耗较高,而且varnish服务进程...

    nginx学习总结五(nginx反向代理)

    Nginx 0.8.32版本,proxy_cache和fastcgi_cache已经比较完善,加上第三方的ngx_cache_purge模块(用于清除指定URL的缓存),已经可以完全取代Squid。 在功能上,Nginx已经具备Squid所拥有的Web缓

    解析Linux下Varnish缓存的配置优化

    Varnish是一款高性能的开源HTTP加速器,挪威最大的在线报纸 Verdens Gang 使用3台Varnish代替了原来的12台Squid,性能比以前更好。...通过Varnish管理端口,可以使用正则表达式快速、批量地清除部分缓存,这一点是Squi

    nginx 1.0.0配ngx_cache_purge实现高效的反向代理

    在功能上,Nginx已经具备Squid所拥有的Web缓存加速功能、清除指定URL缓存的功能。而在性能上,Nginx对多核CPU的利用,胜过Squid不少。另外,在反向代理、负载均衡、健康检查、后端服务器故障转移、Rewrite重写、易用...

    操作系统(内存管理)

    文将对 Linux™ 程序员可以使用的内存管理技术进行概述,虽然关注的重点是 C 语言,但同样也适用于其他语言。文中将为您提供如何管理内存的细节,然后将进一步展示如何手工管理内存,如何使用引用计数或者内存池来半...

Global site tag (gtag.js) - Google Analytics