每日shell脚本之日志分析
#!/bin/bash
# 日志文件路径
log_file="/var/log/syslog"
# 统计IP出现次数
ip_count() {
awk '{print $1}' $log_file | sort | uniq -c | sort -nr
}
# 统计访问最多的页面
top_page() {
awk '{print $7}' $log_file | sort | uniq -c | sort -nr | head -n 10
}
# 统计访问最多的时间段
top_time() {
awk '{print substr($4, 1, 11)}' $log_file | sort | uniq -c | sort -nr | head -n 10
}
# 统计访问最多的HTTP状态码
top_status() {
awk '{print $9}' $log_file | sort | uniq -c | sort -nr | head -n 10
}
# 输出结果
echo "IP出现次数:"
ip_count
echo "访问最多的页面:"
top_page
echo "访问最多的时间段:"
top_time
echo "访问最多的HTTP状态码:"
top_status