统计出每个IP的访问量有多少?
- 检查是否提供了日志文件的路径作为参数。
- 使用awk从日志文件的每行中提取第一个字段(假设这是IP地址)。
- 使用sort对提取的IP地址进行排序。
- 使用uniq -c统计每个唯一IP地址的出现次数。
- 最后,使用sort -nr按访问量从高到低进行排序。
root@service ~]# vim count_ips.sh
#!/bin/bash  # 检查参数  
if [ "$#" -ne 1 ]; thenecho "Usage: $0 <logfile>"  exit 1
fiLOGFILE="$1"# 使用awk统计每个IP的访问量,然后排序并输出  
awk '{print $1}' "$LOGFILE" | sort | uniq -c | sort -nr[root@service ~]# chmod +x count_ips.sh
[root@service ~]# ./count_ips.sh /tmp/1.log1 192.168.142.1481 192.168.142.1391 192.168.140.121
生成磁盘使用情况的日志文件
在如下脚本中,你需要将/tmp/2.log替换为你想要保存日志文件的实际路径和名称。脚本首先获取当前时间,并将其与磁盘使用情况一起追加到日志文件中;同时,它还输出这些信息到终端上 。
[root@service tmp]# vim cipan.sh
#!/bin/bash  # 定义日志文件的路径和名称  
LOG_FILE="/tmp/2.log"# 使用df命令获取磁盘使用情况,并格式化输出  
DISK_USAGE=$(df -h)# 将磁盘使用情况追加到日志文件中  
echo "$(date '+%Y-%m-%d %H:%M:%S') - Disk Usage:" >> "$LOG_FILE"
echo "$DISK_USAGE" >> "$LOG_FILE"
echo "--------------------------------------------------------" >> "$LOG_FILE"echo "$(date '+%Y-%m-%d %H:%M:%S') - Disk Usage:"  
echo "$DISK_USAGE"  # 完成提示  
echo "你的磁盘使用情况被记录到 $LOG_FILE"
可以查看CPU资源占用率的脚本文件
查看实时占用率
[root@service tmp]# vim cpu_show.sh
#!/bin/bash  # 定义一个函数来显示CPU占用率  
show_cpu() {# 使用top命令获取CPU占用率信息,并只显示第一行(包含CPU占用率的部分)  top -bn1 | grep "Cpu(s)"
}# 调用函数显示CPU占用率  
show_cpu
[root@service tmp]# bash cpu_show.sh 
%Cpu(s):  2.9 us,  2.9 sy,  0.0 ni, 94.1 id,  0.0 wa,  0.0 hi,  0.0 si,  0.0 st
top命令的-b选项表示批处理模式,-n1表示只更新一次。grep "Cpu(s)"用于过滤出包含CPU占用率信息的行。
查看一段时间内的CPU占用率
[root@service tmp]# vim cpu_show2.sh
#!/bin/bash  # 定义一个函数来显示指定时间间隔的平均CPU占用率  
show_cpu_avg() {interval=$1mpstat -P ALL $interval 1 | tail -n +3
}# 调用函数显示过去5秒的平均CPU占用率  
show_cpu_avg 5
[root@service tmp]# bash cpu_show2.sh 
20时31分14秒  CPU    %usr   %nice    %sys %iowait    %irq   %soft  %steal  %guest  %gnice   %idle
20时31分19秒  all    0.10    2.16   24.64    5.26    0.82    1.03    0.00    0.00    0.00   65.98
20时31分19秒    0    0.20    1.21   23.43    8.89    0.81    1.21    0.00    0.00    0.00   64.24
20时31分19秒    1    0.00    3.16   25.89    1.47    0.84    0.84    0.00    0.00    0.00   67.79平均时间:  CPU    %usr   %nice    %sys %iowait    %irq   %soft  %steal  %guest  %gnice   %idle
平均时间:  all    0.10    2.16   24.64    5.26    0.82    1.03    0.00    0.00    0.00   65.98
平均时间:    0    0.20    1.21   23.43    8.89    0.81    1.21    0.00    0.00    0.00   64.24
平均时间:    1    0.00    3.16   25.89    1.47    0.84    0.84    0.00    0.00    0.00   67.79
mpstat -P ALL 5 1表示显示所有CPU核心的统计信息,每5秒更新一次,总共更新1次。tail -n +3用于跳过前两行标题信息。
