kn007的个人博客
♥ You are here: Home > 软件与网络 > VPS > 定期清理squid缓存的必要性还是有的

定期清理squid缓存的必要性还是有的

by | No Comment

提醒:本文最后更新于 2864 天前,文中所描述的信息可能已发生改变,请仔细核实。

用了squid,觉得跟eA不相上下,是快了不少,但是越来越慢的感觉。

之前在8月末,一直觉得博客访问更慢了,一个是GFW的动作(如果上不了我的网站,请用代理。ip访问怕被封,我是vps就一个ip),一个就是squid缓存文件的问题。

所以在上个星期的周末,我使用了以下脚本进行squid清理。(第一次清理要1个多小时,估计太多了)

#!/bin/sh
grep -a -r $1 /var/spool/squid/* | strings | grep "http:" | awk -F'http:' '{print "http:"$2;}' > squid_cache_list.txt
for url in `cat squid_cache_list.txt`; do
squidclient -h 127.0.0.1 -m PURGE -p 80 $url
done
rm -rf squid_cache_list.txt
echo "done" >> /data/www/clear_squid_cache_log/$(date +%Y%m%d).log

不过在此之前,需要对你的root(127.0.0.1)在squid.conf授权,不然是没法删的。

在你的squid存放目录中,我的是/etc/squid/下面的squid.conf,在其中加入

acl managercache src 127.0.0.1
acl Purge method PURGE
http_access allow managercache Purge
http_access deny Purge

相信这些语句都不难看懂(啥,看不懂,你直接翻译都懂了。。。)

最后在做个定时任务,在ssh中

crontab -e

新建一行,输入

00 02 * * * /data/www/clear_squid_cache.sh kn007.net

这样凌晨2点就会自动清一次(要40分钟左右),我发现squid_cache_list.txt永远很大,删的只是缓存文件,缓存对象没删。。这样也好,省去重新遍历对象进行缓存。

脚本放置位置/data/www/,请自行更改。

现在快多了,就像刚配置squid的时候。统计数据由几个监控主机测试得出。

转载请注明转自:kn007的个人博客的《定期清理squid缓存的必要性还是有的

donate
有所帮助?
Tags: , ,

Comments

No Comment立即评论

icon_wink.gificon_neutral.gificon_mad.gificon_twisted.gificon_smile.gificon_eek.gificon_sad.gificon_rolleyes.gificon_razz.gificon_redface.gificon_surprised.gificon_mrgreen.gificon_lol.gificon_idea.gificon_biggrin.gificon_evil.gificon_cry.gificon_cool.gificon_arrow.gificon_confused.gificon_question.gificon_exclaim.gif