运维篇SHELL脚本实战案例

统计出每个IP的访问量有多少?

  1. 检查是否提供了日志文件的路径作为参数。
  2. 使用awk从日志文件的每行中提取第一个字段(假设这是IP地址)。
  3. 使用sort对提取的IP地址进行排序。
  4. 使用uniq -c统计每个唯一IP地址的出现次数。
  5. 最后,使用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用于跳过前两行标题信息。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/760883.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

复习斐波那契(用C++写)

或者这样写&#xff1a; 斐波那契数列 题目描述 斐波那契数列是指这样的数列&#xff1a;数列的第一个和第二个数都为 1 1 1&#xff0c;接下来每个数都等于前面 2 2 2 个数之和。 给出一个正整数 a a a&#xff0c;要求斐波那契数列中第 a a a 个数是多少。 输入格式…

Java基础---IO流

1. File类 1.1 File的介绍 File是java.io.包下的类&#xff0c; File类的对象&#xff0c;用于代表当前操作系统的文件&#xff08;可以是文件、或文件夹&#xff09;。 注意&#xff1a;File类只能对文件本身进行操作&#xff0c;不能读写文件里面存储的数据。 1.2 File类…

Python模块-基础知识

Python模块-基础知识 1.模块分类&#xff1a; &#xff08;1&#xff09;自定义模块&#xff1a; 如果你自己写一个py文件&#xff0c;在文件内写入一堆函数&#xff0c;则它被称为自定义模块&#xff0c;即使用python编写的.py文件 &#xff08;2&#xff09;第三方模块&…

javaSE练习题(一)

1、BMI是根据体重测量健康的方式。通过以千克为单位的体重除以以米为单位的身高的平方计算出BMI。下面是16 岁以上人群的BMI图表: 编写一个java程序&#xff0c;提示用户输人以磅为单位的体重和以英寸为单位的身高&#xff0c;然后显示BMI值。注意: 1磅是0.453592 37千克而1英寸…

9大变频电源模块的测试参数及其重要性

变频电源是将交流电经过交流-直流-交流变换&#xff0c;从而得到输出为正弦波的交流电&#xff0c;广泛应用于家电、电机、电脑设备、测试单位、航空等领域。变频电源测试是确保系统稳定运行的重要步骤。 变频电源测试的重要参数 1. 输出电压和电流 可用万用表、电流表或者示波…

企业电脑如何管控(高效管控企业电脑的小技巧)

员工企业管理一直以来都是一个难题&#xff0c;难在人员多管理费劲。 因此高效管理一直都是企业最头疼的问题。 而使用一款软件辅助管理是很多企业发现的最有效的方法&#xff0c;如域智盾软件。 域智盾软件是一款专业的文件加密和数据安全软件&#xff0c;适用于各种企业和个…

4.1 用源文件写汇编代码

汇编语言 1. 源程序 1.1 伪指令 汇编指令是有对应的机器码的指令&#xff0c;可以被编译为机器指令&#xff0c;最终为CPU所执行伪指令没有对应的机器指令&#xff0c;最终不被CPU所执行伪指令是由编译器来执行的指令&#xff0c;编译器根据伪指令来进行相关的编译工作 1.2…

【LeetCode每日一题】2312. 卖木头块(DFS记忆化搜索+动态规划)

文章目录 [2312. 卖木头块](https://leetcode.cn/problems/selling-pieces-of-wood/)思路1:用DFS进行记忆化搜索代码&#xff1a;思路2:动态规划代码&#xff1a; 2312. 卖木头块 思路1:用DFS进行记忆化搜索 1.要用DFS深度优先遍历每一种情况。在递归的同时&#xff0c;不断更…

【什么是Internet?网络边缘,网络核心,分组交换 vs 电路交换,接入网络和物理媒体】

文章目录 一、什么是Internet&#xff1f;1.从具体构成角度来看2.从服务角度来看 二、网络结构1.网络边缘1.网络边缘&#xff1a;采用网络设施的面向连接服务1.1.目标&#xff1a;在端系统之间传输数据1.2.TCP服务 2.网络边缘&#xff1a;采用网络设施的无连接服务2.1目标&…

unicloud快速上手,unicloud项目创建以及项目创建注意事项

uniCloud快速上手 本项目地址https://gitee.com/qayrup/unicloud-demo 创建unicloud项目 新建一个uni项目,并选择启用unicloud,选择阿里云或腾讯云 阿里云和支付宝云都支持一个月免费的云,如果只想体验啥的,可以选择这两个, 但是需要注意,支付宝云需要配置跨域,否则很多云函…

XCode升级错误:Command CompileC failed with a nonzero exit code 解决办法

升级完XCode之后&#xff0c;bulid失败&#xff0c;出现如下错误&#xff1a; 问题1&#xff1a; xcrun: error: invalid active developer path (/Library/Developer/CommandLineTools), missing xcrun at: /Library/Developer/CommandLineTools/usr/bin/xcrunCommand Compi…

网络编程面试题

一、什么是IP地址 1.IP地址是主机在网路中的唯一标识&#xff0c;&#xff0c;当主机从一个网络切换到另一个网络时&#xff0c;会更改IP地址&#xff0c;同样的IP地址也是路由器进行路由选择的标识 2.IP地址的分类 IPV4&#xff1a;采用4字节无符号整数存储 IPV6&#xff…

【JVM】垃圾收集算法,垃圾收集器,调优,如何判断类是无用的类?对象一定分配在堆中吗?了解逃逸分析技术吗?

目录 垃圾收集算法 标记-清除 标记-复制 标记-整理 分代收集算法 垃圾收集器 CMS收集器 G1 收集器 Serial收集器 ParNew收集器 Parallel Scavenge 收集器 Serial Old 收集器 Parallel Old 收集器 引用类型总结 调优 调优命令 调优工具 调优参数 如何判断类是…

PPT好看配色

放几个链接&#xff01;画图时候可以参考&#xff01;转自知乎 Color Hunt ColorDrop 中国色 Flat UI Colors Coolors

Stable Diffusion之核心网络结构解析

Stable Diffusion核心网络结构解析 1. SD模型整体架构初识 1. SD模型整体架构初识 Stable Diffusion模型整体上是一个End-to-End模型&#xff0c;主要由以下三个核心组件构成。 VAE&#xff08;变分自编码器&#xff0c;Variational Auto-Encoder&#xff09;&#xff0c;U-N…

Redis设计原理简介

键值存储模型&#xff1a; Redis是一个基于内存的键值对存储系统&#xff0c;它支持五种基本数据结构&#xff08;字符串String、哈希Hash、列表List、集合Set、有序集合Sorted Set&#xff09;以及几种高级数据结构如Bitmaps、HyperLogLogs等。 单线程架构&#xff1a; Redis采…

VMware部署银河麒麟遇到的问题记录

1. 解决VMware Workstation安装VMware Tools显示灰色的办法 1.关闭虚拟机; 2.在虚拟机设置分别设置CD/DVD、CD/DVD2和软盘为自动检测三个步骤; 3.再重启虚拟机,灰色字即点亮。 2.Linux安装vmTool

【兆易创新GD32H759I-EVAL开发板】Keil 工程警告 Multiply defined Global Symbol 原因排查

在测试【兆易创新GD32H759I-EVAL开发板】过程中 遇到许多小坎坷 今天遇到的是 .\Objects\Project.axf: Warning: L6439W: Multiply defined Global Symbol OS_Tick_Enable defined in .text.OS_Tick_Enable(os_systick_1.o) rejected in favor of Symbol defined in .text.O…

最尴尬的论文!ChatGPT 抄来的忘记删掉提示词,211高校教授发表在一区SCI期刊

张同学&#xff0c;你的ChatGPT指令提示词忘记删除了&#xff1f;&#xff01;&#xff01;&#xff01;&#xff01; 近期&#xff0c;一篇题目为“The three-dimensional porous mesh structure of Cu-based metal-organic-framework - aramid cellulose separator enhances …

面试算法-68-将有序数组转换为二叉搜索树

题目 给你一个整数数组 nums &#xff0c;其中元素已经按 升序 排列&#xff0c;请你将其转换为一棵 平衡 二叉搜索树。 示例 1&#xff1a; 输入&#xff1a;nums [-10,-3,0,5,9] 输出&#xff1a;[0,-3,9,-10,null,5] 解释&#xff1a;[0,-10,5,null,-3,null,9] 也将被视…