国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 網站 > 建站經驗 > 正文

清除指定squid緩存文件的腳本代碼分享

2019-11-02 16:08:54
字體:
來源:轉載
供稿:網友
squid會根據用戶請求網頁的URL進行哈希,生成緩存文件,存放在某一個目錄中。squid啟動之后,將在內存中建立一個哈希表,記錄硬盤中緩存文件配置的情形。

  對于類似http://jb51.net/index.html之類的網頁,squid只會生成一個緩存文件。可以用squid附帶的squidclient工具清除:

squidclient -m PURGE -p 80 “http://jb51.net/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

下載:

復制代碼 代碼如下:

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

  注意:請賦予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 jb51.net

  3、清除文件名為zhangyan.jpg的所有緩存:

  ./clear_squid_cache.sh test.jpg

  效率:

  經測試,在DELL 2950上清除26000個緩存文件用時2分鐘左右。平均每秒可清除緩存文件177個。
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 黎川县| 太保市| 瓮安县| 新沂市| 奉新县| 大渡口区| 东乡县| 金塔县| 南木林县| 澳门| 长治县| 荣成市| 鹤峰县| 商洛市| 武威市| 陇川县| 兰州市| 新野县| 文登市| 肇东市| 鹤岗市| 恭城| 桑植县| 连城县| 图片| 常山县| 衡阳市| 疏勒县| 阳原县| 田阳县| 高清| 蛟河市| 龙井市| 新竹市| 抚宁县| 绵竹市| 西乌珠穆沁旗| 大宁县| 三门县| 固镇县| 固镇县|