ShellスクリプトはSquidキャッシュを精確にクリアすることを実現します。
このスクリプトは、主にifオプションを追加し、キャッシュファイルの住所を選択的にリストします。($1は固定されていませんので、特定のjpgタイプ、ドメイン名があります。)今は自分のSquidキャッシュサーバに適用されています。キャッシュアドレスにはほとんど誤差がないと思います。みんなを歓迎して試用して、この脚本をもっと完璧にするように努力します。64,Squid 2.7を通してスクリプトの内容は以下の通りです。
#!/bin/sh
squidcache_path="/usr/local/squid/var/cache"
squidclient_path="/usr/local/squid/bin/squidclient"
if [[ "$1" =~ swf|png|jpg|ico|gif|css|js|htm|html|shtml ]]; then
grep -a -r .$1 $squidcache_path/* | strings | grep "http:" | awk -F 'http:' '{print "http:"$2;}' | awk -F\' '{print $1}' > cache.txt
else
grep -a -r $1 $squidcache_path/* | strings | grep "http:" | awk -F 'http:' '{print "http:"$2;}' | awk -F\' '{print $1}' > cache.txt
fi
while read LINE
do
$squidclient_path -h 122.70.148.51 -p 80 -m PURGE $LINE
done < cache.txt