pureftpd日志分析/统计

18 views
Skip to first unread message

Feng Lu

unread,
Apr 10, 2008, 2:14:05 AM4/10/08
to os...@googlegroups.com
pureftpd 日志内容如下
2008-04-09 11:16:56 192.168.11.208 []sent /mnt/ftp/ftproot//pub/%5BMusic%5D%E9%9F%B3%E4%B9%90/JAZZ/%E5%85%B6%E4%BB%96--summer%E7%B3%BB%E5%88%97%20cool%E7%B3%BB%E5%88%97%20pure%E7%B3%BB%E5%88%97%20brazil%E7%B3%BB%E5%88%97/pure%20jazz/pure%20jazz%28a%20panoramic%20true%20HI-FI%20recording%29/01%20NINA%20SIMONE--MY%20BABY%20JUST%20CARES%20FOR%20ME.mp3 226 ftp 1466914
2008-04-09 11:17:00 192.168.11.208 []sent /mnt/ftp/ftproot//pub/%5BMusic%5D%E9%9F%B3%E4%B9%90/JAZZ/%E5%85%B6%E4%BB%96--summer%E7%B3%BB%E5%88%97%20cool%E7%B3%BB%E5%88%97%20pure%E7%B3%BB%E5%88%97%20brazil%E7%B3%BB%E5%88%97/pure%20jazz/pure%20jazz%28a%20panoramic%20true%20HI-FI%20recording%29/02%20COUNT%20BASIE--APRIL%20IN%20PARIS.mp3 226 ftp 1834927
格式:
日期 时间 客户端IP 动作 文件路径 226(未知) 用户名 文件大小

统计目标
在一段时间(通常是一个月)内,各用户上传了多少MB的文件

我现在只知道把日志导到数据库再来统计-_-(死脑筋,只知道数据库)..

脚本:
#!/bin/sh
#
# usage: log2mysql.sh > temp.sql
# and then import this temp.sql to mysql database
#

awk '{printf("insert into mysqllog values(0,\"%s %s\",\"%s\",\"%s\",\"%s\",%d,\"%s\",%d);\n",$1,$2,$3,$4,$5,$6,$7,$8)}' pureftpd-100.log

用以上脚本输出一个sql文件,然后随便用什么导入数据库就行了,再要统计数字是比较简单的

但是我感觉这样走了不少弯路..有更好的办法吗?直接用shell解决这个问题的

--
0000
MININEWS.INFO
Mininews是一个业界微新闻站点,添加xiaoh...@hotmail.com为MSN好友
做最敏捷的媒体,人人都可以是记者,关注身边正在发生的事。[M]

Feng Lu

unread,
Apr 10, 2008, 2:19:45 AM4/10/08
to os...@googlegroups.com
附一个日志片段

pureftpd-100.log 是100行用来测试的日志内容

log2mysql.sh 是我写的脚本
pureftpd-100.log
log2mysql.sh
Reply all
Reply to author
Forward
0 new messages