小男孩‘自慰网亚洲一区二区,亚洲一级在线播放毛片,亚洲中文字幕av每天更新,黄aⅴ永久免费无码,91成人午夜在线精品,色网站免费在线观看,亚洲欧洲wwwww在线观看

分享

清除指定Squid緩存文件的腳本

 農(nóng)夫子oice 2009-11-13
 
        Squid web緩存加速軟件目前已經(jīng)是新浪、搜狐、網(wǎng)易等各大網(wǎng)站廣泛應(yīng)用。Squid會在設(shè)置的緩存目錄下建立多個目錄,每一個目錄下又建立多個目錄,然后才在最里層的目錄中存放緩存文件(object)。squid會根據(jù)用戶請求網(wǎng)頁的URL進(jìn)行哈希,生成緩存文件,存放在某一個目錄中。squid啟動之后,將在內(nèi)存中建立一個哈希表,記錄硬盤中緩存文件配置的情形。

  對于類似http://you.video.sina.com.cn/index.html之類的網(wǎng)頁,squid只會生成一個緩存文件??梢杂?strong>squid附帶的squidclient工具清除:
squidclient -m PURGE -p 80http://you.video.sina.com.cn/index.html

  而對于帶有參數(shù)的網(wǎng)頁,例如新浪播客的Flash播放器http://vhead.blog.sina.com.cn/pl ... &uid=1278987704,因“?”后面的參數(shù)不同,導(dǎo)致URL也不同,squid會生成多個緩存文件,哈希分散存放在不同的目錄。如果修改了這個outer_player.swf 文件,要更新squid緩存就要去清除不同目錄下及內(nèi)存中的很多個緩存文件,十分麻煩,于是我編寫了一個Linux下的shell腳本,去完成這件麻煩的事:

  腳本文件名:clear_squid_cache.sh
  1. #!/bin/sh
  2. squidcache_path="/data1/squid/var/cache"
  3. squidclient_path="/usr/local/squid/bin/squidclient"
  4. grep -a -r $1 $squidcache_path/* | strings | grep "http:" | awk -F'http:' '{print "http:"$2;}' > cache_list.txt
  5. for url in `cat cache_list.txt`; do
  6. $squidclient_path -m PURGE -p 80 $url
  7. done
復(fù)制代碼
注意:請賦予clear_squid_cache.sh可執(zhí)行權(quán)限(命令:chmod +x ./clear_squid_cache.sh)。請確保腳本所在目錄可寫。

  設(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 sina.com.cn

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

  效率:
  經(jīng)測試,在DELL 2950上清除26000個緩存文件用時2分鐘左右。平均每秒可清除緩存文件177個。
 

    本站是提供個人知識管理的網(wǎng)絡(luò)存儲空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點(diǎn)。請注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購買等信息,謹(jǐn)防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請點(diǎn)擊一鍵舉報(bào)。
    轉(zhuǎn)藏 分享 獻(xiàn)花(0

    0條評論

    發(fā)表

    請遵守用戶 評論公約

    類似文章 更多