作者:张 宴 批量清除Cache的工具:
wget ... 20040201-src.tar.gz tar zxvf purge-20040201-src.tar.gz cd purge make
清除Squid缓存示例: 1、清除 URL 以“.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 &
- #!/bin/sh
- squidcache_path=" /data/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
复制代码
用法: 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 如果对于频繁更新的gif或者什么,可以在crontab中添加对应的命令行 0 * * * * /usr/local/bin/clear_squid_cache.sh gif & 这样就会每隔一个小时进行一次刷新操作了,很是方便 如果需要让图片更新人员自行刷新的话,就可以找相应的人员开发web页面,进行对脚本的调用就可以了
*取得squid运行状态信息: squidclient -p 80 mgr:info *取得squid内存使用情况: squidclient -p 80 mgr:mem *取得squid已经缓存的列表: squidclient -p 80 mgrbjects. use it carefully, it may crash *取得squid的磁盘使用情况: squidclient -p 80 mgr:diskd *强制更新某个url: squidclient -p 80 -m PURGE *更多的请查看:squidclient -h 或者 squidclient -p 80 mgr: |