清除指定squid緩存文件的腳本代碼分享
更新時(shí)間:2012年02月09日 00:51:19 作者:
Squid web緩存加速軟件目前已經(jīng)是新浪、搜狐、網(wǎng)易等各大網(wǎng)站廣泛應(yīng)用。Squid會(huì)在設(shè)置的緩存目錄下建立多個(gè)目錄,每一個(gè)目錄下又建立多個(gè)目錄,然后才在最里層的目錄中存放緩存文件(object)
squid會(huì)根據(jù)用戶請(qǐng)求網(wǎng)頁的URL進(jìn)行哈希,生成緩存文件,存放在某一個(gè)目錄中。squid啟動(dòng)之后,將在內(nèi)存中建立一個(gè)哈希表,記錄硬盤中緩存文件配置的情形。
對(duì)于類似http://jb51.net/index.html之類的網(wǎng)頁,squid只會(huì)生成一個(gè)緩存文件??梢杂胹quid附帶的squidclient工具清除:
squidclient -m PURGE -p 80 “http://jb51.net/index.html”
而對(duì)于帶有參數(shù)的網(wǎng)頁,例如新浪播客的Flash播放器http://vhead.blog.sina.com.cn/player/outer_player.swf?auto=0&vid=4469852&uid=1278987704,因”?”后面的參數(shù)不同,導(dǎo)致URL也不同,squid會(huì)生成多個(gè)緩存文件,哈希分散存放在不同的目錄。如果修改了這個(gè)outer_player.swf文件,要更新squid緩存就要去清除不同目錄下及內(nèi)存中的很多個(gè)緩存文件,十分麻煩,于是我編寫了一個(gè)Linux下的shell腳本,去完成這件麻煩的事:
腳本文件名:clear_squid_cache.sh
下載:
clear_squid_cache.sh#!/bin/sh
squidcache_path="/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
注意:請(qǐng)賦予clear_squid_cache.sh可執(zhí)行權(quán)限(命令:chmod +x ./clear_squid_cache.sh)。請(qǐng)確保腳本所在目錄可寫。
設(shè)置:
squidcache_path= 表示squid緩存目錄的路徑
squidclient_path= 表示squidclient程序所在的路徑,默認(rèn)為squid安裝目錄下的bin/squidclient
用法:
1、清除所有Flash緩存(擴(kuò)展名.swf):
./clear_squid_cache.sh swf
2、清除URL中包含sina.com.cn的所有緩存:
./clear_squid_cache.sh jb51.net
3、清除文件名為zhangyan.jpg的所有緩存:
./clear_squid_cache.sh test.jpg
效率:
經(jīng)測(cè)試,在DELL 2950上清除26000個(gè)緩存文件用時(shí)2分鐘左右。平均每秒可清除緩存文件177個(gè)。
對(duì)于類似http://jb51.net/index.html之類的網(wǎng)頁,squid只會(huì)生成一個(gè)緩存文件??梢杂胹quid附帶的squidclient工具清除:
squidclient -m PURGE -p 80 “http://jb51.net/index.html”
而對(duì)于帶有參數(shù)的網(wǎng)頁,例如新浪播客的Flash播放器http://vhead.blog.sina.com.cn/player/outer_player.swf?auto=0&vid=4469852&uid=1278987704,因”?”后面的參數(shù)不同,導(dǎo)致URL也不同,squid會(huì)生成多個(gè)緩存文件,哈希分散存放在不同的目錄。如果修改了這個(gè)outer_player.swf文件,要更新squid緩存就要去清除不同目錄下及內(nèi)存中的很多個(gè)緩存文件,十分麻煩,于是我編寫了一個(gè)Linux下的shell腳本,去完成這件麻煩的事:
腳本文件名:clear_squid_cache.sh
下載:
復(fù)制代碼 代碼如下:
clear_squid_cache.sh#!/bin/sh
squidcache_path="/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
注意:請(qǐng)賦予clear_squid_cache.sh可執(zhí)行權(quán)限(命令:chmod +x ./clear_squid_cache.sh)。請(qǐng)確保腳本所在目錄可寫。
設(shè)置:
squidcache_path= 表示squid緩存目錄的路徑
squidclient_path= 表示squidclient程序所在的路徑,默認(rèn)為squid安裝目錄下的bin/squidclient
用法:
1、清除所有Flash緩存(擴(kuò)展名.swf):
./clear_squid_cache.sh swf
2、清除URL中包含sina.com.cn的所有緩存:
./clear_squid_cache.sh jb51.net
3、清除文件名為zhangyan.jpg的所有緩存:
./clear_squid_cache.sh test.jpg
效率:
經(jīng)測(cè)試,在DELL 2950上清除26000個(gè)緩存文件用時(shí)2分鐘左右。平均每秒可清除緩存文件177個(gè)。
您可能感興趣的文章:
- Windows下安裝squid的步驟詳解
- Gzip在apache2中的設(shè)置和squid對(duì)它的處理
- Linux下Squid代理服務(wù)器的架設(shè)與維護(hù)經(jīng)驗(yàn)分享
- 簡(jiǎn)單架設(shè)SSH+Squid代理服務(wù)器的自由上網(wǎng)通道的方法
- nginx+apache+mysql+php+memcached+squid搭建集群web環(huán)境
- centos下簡(jiǎn)單配置安裝Squid 3.0反向代理
- 基于Xen的VPS 配置squid服務(wù)器
- 在Windows下利用Squid開設(shè)代理服務(wù)器
- WINDOWS系統(tǒng)下怎樣配置squid做CDN的簡(jiǎn)明圖解
- Linux下Squid配置詳解 Squid代理服務(wù)器配置
- 搭建一個(gè)大型網(wǎng)站架構(gòu)的實(shí)驗(yàn)環(huán)境(Squid緩存服務(wù)器篇)
- 對(duì)squid中refresh_pattern的一些理解和建議
- PHP Squid中可緩存的動(dòng)態(tài)網(wǎng)頁設(shè)計(jì)
- FreeBSD6.0Release+Squid+Socks5服務(wù)器架設(shè)筆記
- FreeBSD6.0Release+Squid+Socks5服務(wù)器架設(shè)筆記
- 使用Squid做代理服務(wù)器的方法
- linux下安裝Squid代理的詳細(xì)配置教程
相關(guān)文章
詳解阿里云CentOS Linux服務(wù)器上用postfix搭建郵件服務(wù)器
本篇文章主要介紹了詳解阿里云CentOS Linux服務(wù)器上用postfix搭建郵件服務(wù)器,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下。2016-12-12
詳解linux usb host驅(qū)動(dòng)編寫入門
本篇文章主要介紹了詳解linux usb host驅(qū)動(dòng)編寫入門,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧2018-04-04
Xshell7遠(yuǎn)程連接失敗(connection failed)的問題解決
本文主要介紹了Xshell7遠(yuǎn)程連接失敗(connection failed)的問題解決,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2022-08-08
linux普通用戶su root切換提示沒有文件或目錄的解決方法
這篇文章主要介紹了linux普通用戶su root切換提示沒有文件或目錄的解決方法,需要的朋友可以參考下2017-07-07

