提醒:本文最后更新于 2850 天前,文中所描述的信息可能已发生改变,请仔细核实。
用了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缓存的必要性还是有的》
Comments