免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
12下一页
最近访问板块 发新帖
查看: 2760 | 回复: 11
打印 上一主题 下一主题

提取vsftpd.log里的上传和下载的大小,排序--问题 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2010-06-11 16:34 |只看该作者 |倒序浏览
本帖最后由 shot 于 2010-06-11 16:59 编辑

各位高手,现有个脚本想实现:对vsftpd.log里的记录每周统计一次,下载或者上传的文件总共大小从高到低排前十,列出用户、大小来,将结果用邮件发送出去。

文件记录示例如下:
Thu Jun 10 17:51:27 2010 1 10.94.6.72 62775 /home/user1/AB/UK19AB_LIN_top.pdf b _ o r user1 ftp 0 * c
Thu Jun 10 17:51:27 2010 1 10.94.6.72 201140 /home/user2/AB/UK19AB_LIN_transmitter.pdf b _ o r user2 ftp 0 * c
Thu Jun 10 17:51:28 2010 1 10.94.6.72 150522 /home/user1/AB/UK19AB_LIN_wkup.pdf b _ o r user1 ftp 0 * c
Thu Jun 10 17:51:28 2010 1 10.94.6.72 60722 /home/user2/AA/UU15AA_LIN_ESD_neg.pdf b _ o r user2 ftp 0 * c
Thu Jun 10 17:51:28 2010 1 10.94.6.72 79139 /home/user2/AA/UU15AA_LIN_ESD_pos.pdf b _ o r user2 ftp 0 * c
Thu Jun 10 17:51:28 2010 1 10.94.6.72 26430 /home/user1/AA/UU15AA_LIN_ESD_top.pdf b _ o r user1 ftp 0 * c
Thu Jun 10 17:51:28 2010 1 10.94.6.72 144165 /home/user1/AA/UU15AA_LIN_rec.pdf b _ o r user1 ftp 0 * c
Thu Jun 10 17:51:28 2010 1 10.94.6.72 50140 /home/user2/AA/UU15AA_LIN_top.pdf b _ o r user2 ftp 0 * c

本人想过了方法:
1. 从文件里筛选定位出7天时间。(前5个字段)
2. 取出上传和下载的用户名。 (第14列)
3. 累加该用户上传和下载文件的大小。(不分上传或下载,累加在一起就行,第8列)
最好是要求7天时间的, 随便从星期几开始都行,只要是一周报告一次就行。

各位能帮忙写下吗? 我只想的出这些,没办法用脚本实现。谢谢了!

论坛徽章:
0
2 [报告]
发表于 2010-06-11 16:43 |只看该作者
3. 累加该用户上传和下载文件的大小。(不分上传或下载,累加在一起就行,第8列)
这个有没有要求是7天时间段?
还有从文件里筛选定位出7天时间。(前5个字段) 哪七天?

论坛徽章:
0
3 [报告]
发表于 2010-06-11 16:51 |只看该作者
楼上兄弟: 最好是要求7天时间的, 随便从星期几开始都行,只要是一周报告一次就行。

论坛徽章:
0
4 [报告]
发表于 2010-06-11 17:15 |只看该作者
  1. awk '{c1="date +%m%d -d \""$2" "$3"\"";c1 |getline day;c2="date +%U -d \""$5day"\"";c2 |getline week;sum[week","$14]+=$8}END{for (i in sum) {split(i,m,",");print m[2],sum[i] >"week"m[1]".txt"}}' file
  2. for i in week*.txt; do   sort -k2nr $i | head -10; done  
复制代码

论坛徽章:
0
5 [报告]
发表于 2010-06-11 17:25 |只看该作者
本帖最后由 shot 于 2010-06-11 17:30 编辑

高手啊,俺居然格式都看不明白。汗!
我run了一下,有点出入,就是没有排序,另外就是些字段提取错误了。

i 200815497
zhaojh 138195055
cunrong 127720911
adamz 124255058
shawnwng 64530585
williamz 52873216
softmgr 1294334304
quanping 273939396
mawj 97461841
_ 83543979
ericw 64716091
jacksond 64340744
zhengkk 53523327
harrison 51425632
gloria 49078036
jimcong 49078036
maqj 299352998
clkdis 298715724
jefferyw 116986193
wadeou 99518432
jonnyluo 4966654
o 2291408
kenluo 9515

高手再改进下吧

论坛徽章:
0
6 [报告]
发表于 2010-06-11 17:36 |只看该作者
回复 1# shot


    你这个LOG里肯定每天都会有上传或者下载吗?
也就是说总有 从MON-SUN?还是不固定的

求职 : 技术支持/维
论坛徽章:
0
7 [报告]
发表于 2010-06-11 17:49 |只看该作者
提示: 作者被禁止或删除 内容自动屏蔽

论坛徽章:
0
8 [报告]
发表于 2010-06-11 17:53 |只看该作者
本帖最后由 ywlscpl 于 2010-06-11 17:59 编辑

回复 5# shot


    字段提取错误可能是因为有些文件名中带空格,那么把$14改成$(NF-4)应该就可以了
排序是第二条语句完成的

for i in week*.txt; do   sort -k2nr $i | head -10 >sorted_$i; done  

sorted_week*文件就是各个星期的排行前十数据,星期数根据date +%U而来

论坛徽章:
16
IT运维版块每日发帖之星
日期:2015-08-24 06:20:00综合交流区版块每日发帖之星
日期:2015-10-14 06:20:00IT运维版块每日发帖之星
日期:2015-10-25 06:20:00IT运维版块每日发帖之星
日期:2015-11-06 06:20:00IT运维版块每日发帖之星
日期:2015-12-10 06:20:00平安夜徽章
日期:2015-12-26 00:06:302016猴年福章徽章
日期:2016-02-18 15:30:34IT运维版块每日发帖之星
日期:2016-04-15 06:20:00IT运维版块每日发帖之星
日期:2016-05-21 06:20:00综合交流区版块每日发帖之星
日期:2016-08-16 06:20:002015七夕节徽章
日期:2015-08-21 11:06:17IT运维版块每日发帖之星
日期:2015-08-14 06:20:00
9 [报告]
发表于 2010-06-11 17:56 |只看该作者
下班了,MARK先

论坛徽章:
0
10 [报告]
发表于 2010-06-11 17:58 |只看该作者
回复  shot


    字段提取错误可能是因为有些文件名中带空格,那么把$14改成$(NF-4)应该就可以了
排序 ...
ywlscpl 发表于 2010-06-11 17:53



    got it , 我再研究下,谢谢!
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP