squid默认的日志文件/var/log/squid/access.log,和缓存日志文件/var/log/squid/store.log,这两个文件会在使用中不断增大,文件大小如果达到一定的程度(大概是2g左右),直接导致squid的进程失效。

/var/log/squid里的日志文件根据squid的配置文件squid.conf的设置默认生成,如果确定不需要保留现有日志,可以全部直接删除,squid重启后这些日志文件会再次生成。

我们来看一下squid.conf文件里关于日志的配置项

#vi /etc/squid/squid.conf

cache和cahce_dir //网页缓存的相关设置

cache_access_log //设置squid访问日志access.log的存放路径

cache_log //设置squid运行状态记录日志cache.log的存放路径

cache_store_log //设置缓存动作记录日志store.log的存放路径

备注:
access.log作为squid的访问日志,记录每个终端客户发起的具体请求,是squid的核心日志,体积会随着访问量的增多越变越大。

cache.log记录了squid运行状态和调试信息,squid意外不能启动时可以参考一下该日志文件,一般情况下体积很小,忽略不计。

store.log,我个人认为是一个比较傻冒的日志文件,它只记录每个进入和离开缓存的目标信息,没有什么参考价值而且体积很大!
可以通过修改cache_store_log丢弃store.log日志
cache_store_log none

1.手动清理
#cd /var/log/squid
进入squid默认日志目录(如果更改了位置请进入自定义的目录)
#rm -rf *
删除所有squid的日志文件(当然删除前先ls一下,避免错删其他文件)
#service squid restart
重启squid

2.自动执行
#crontab -e
编辑cron
输入以下语句,完了保存退出。

* 23  *  *  0 rm -rf /var/log/squid/*
10 23 * * 0 /etc/init.d/squid restart

首先在每周日的23点整删除squid所有日志文件
然后在每周日的23点10分重启squid

或者编辑配置/etc/crontab文件:
55 5 * * * root rm -rf /www/wdlinux/squid-3.1.12/var/logs/*
57 5 * * * root /bin/squid.sh #这是个重启squid脚本

指的是每天5:55和5:57删除logs文件夹下文件,然后重启squid。注意crontab文件需要指定执行用户,即前面加上root。然后重启cron使他生效:
service crond restart

这样就可以达到每周自动丢弃squid当前日志文件的目的,如果对日志文件依赖性不高,不需要做系统的访问分析,这种方法还是比较省事的,至少达到了目的。

请为这篇文章评分:
( 已有 1 人评分, 平均得分: 5 分 )

Tags: linux, squid

Related Posts:

发表评论