统计apache日志所有ip的访问次数和流量
#!/usr/bin/env python"""
USAGE:
logfilename
"""
import sys
def dictify_logline(line):
split_line = line.split()
return { 'remote_host':split_line,
'status':split_line,
'bytes_sent':split_line,
}
def generate_log_report(logfile):
report_dict = {}
for line in logfile:
line_dict = dictify_logline(line)
#print line_dict
try:
bytes_sent = int(line_dict['bytes_sent'])
except ValueError:
continue
report_dict.setdefault(line_dict['remote_host'],[]).append(bytes_sent)
return report_dict
if __name__=="__main__":
if not len(sys.argv)>1:
print __doc__
sys.exit(1)
infile_name = sys.argv
try:
infile = open(infile_name,'r')
except IOError:
print "You must specify a valid file to parse"
print __doc__
sys.exit(1)
log_report = generate_log_report(infile)
#print log_report
bytes=0
for host in log_report.keys():
for byte in log_report:
bytes=bytes+byte
print host,len(log_report),bytes
infile.close()
页:
[1]