Squid 代理服务器日志的分割
2009-03-05 10:20
246 查看
上网查了很久都没有我想要的结果,于是我决定自己动手来实现我想要的效果,离我期望的还差那么一点点但还是比较满意的。系统环境是Centos5.2的,既然需要的squid日志的提取,相信squid代理的配置应该都没有问题,在这里就不多说了。在此提供两种方法:
方法—:
需要安装软件包,newsyslog-1.8.tar.gz自己可以从网上下载.
1.安装步骤:
执行newsyslog即可也可以将此任务添加到crontab文件里
方法二:
那就要编写一个shell了
Shell的内容如下:shell的存放/var/log/squid/extract-today.sh
方法—:
需要安装软件包,newsyslog-1.8.tar.gz自己可以从网上下载.
1.安装步骤:
#./configure #make #make install #此步安装完成后newsyslog应道安装在以下路径,安装这步可能会提示你创建文件或目录如下: #mkdir/usr/local/man/ #新建一个man8文件2.修改与配置文件 newsyslog.conf
#vim /usr/local/etc/newsyslog.conf set squid_logpath = /var/log/squid/access.log #squid日志的路径下面就不过多的解释 set squid_log = /var/log/squid/access.log set date_squid_log = /var/log/squid/access%Y%M%D.log SQUID{ restart: run/usr/sbin/squid -k rotate log:SQUID squid_log squid squid 644 archive: SQUIDdate_squid_log 03.建立定制任务
执行newsyslog即可也可以将此任务添加到crontab文件里
00 23 * * * /usr/local/sbin/newsyslog
方法二:
那就要编写一个shell了
Shell的内容如下:shell的存放/var/log/squid/extract-today.sh
#!/bin/bash date> today-string-file #$grepLine="perl-pe 's/[\d\.]+/localtime($&)/e' access.log|grep " cattoday-string-file | while read LINE ; do field1=`echo$LINE|awk '{print $1}'` field2=`echo$LINE|awk '{print $2}'` field3=`echo$LINE|awk '{print $3}'` field4=`echo$LINE|awk '{print $4}'` field5=`echo$LINE|awk '{print $5}'` field6=`echo$LINE|awk '{print $6}'` echo$field1 echo$field2 echo$field3 echo$field4 echo$field5 echo$field6 #pattern=$field1""$field2" "$field3 #echo$pattern LEN=`exprlength "$field3"` echo$LEN if[ $LEN -eq 1 ]; then #pattern=$field1""$field2" "$field3 echo"perl -pe 's/[\d\.]+/localtime($&)/e' access.log|grep '$field1 $field2$field3'|grep '$field6'">extrToday bashextrToday > Today-Squid-Accessed-Log fi if[ $LEN -eq 2 ]; then #pattern=$field1""$field2" "$field3 echo"perl -pe 's/[\d\.]+/localtime($&)/e' access.log|grep '$field1 $field2$field3'|grep '$field6'">extrToday bashextrToday > Today-Squid-Accessed-Log fi done保存退出,执行刚建立的shell你就可以查看了Today-Squid-Accessed-Log 文件了!
相关文章推荐
- Squid代理--经典缓存代理服务器(实现正向代理配置、ACL各种访问控制、日志分析)
- squid日志分割
- Squid 代理服务器日志管理
- squid使用rotate轮询(分割)日志
- squid的原理和传统代理服务器和透明代理服务器以及squid的日志分析
- 日志框架统一切换之(三):日志分割需求
- 服务器管理之分割日志文件
- Linux日志分割--logrotate
- 多种分割WebServer日志的方法
- logrotate seek 日志分割
- squid手动设置日志后squid对该目录无权限问题解决方案
- Nginx常用日志分割方法
- Nginx系列(九.nginx日志分割)
- tomcat下使用cronolog对catalina.out日志文件分割
- squid日志分析
- Linux tomcat日志分割按天分割
- nginx日志打印及分割
- linux csplit命令进行日志文件分割和重命名
- 对于大日志包进行分割的N种方法