疯传全网网络10个运维巡检脚本以及使用小技巧

本文分享了网络运维中的10种常见脚本,包括检查网络连通性、系统负载、磁盘使用率、内存使用率、服务运行状态、CPU使用率、网络流量、开放端口、系统启动时间和用户登录,供读者参考和自定义使用。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

哈喽大家好,欢迎来到虚拟化时代君(XNHCYL)

   大家好,我是虚拟化时代君,一位潜心于互联网的技术宅男。这里每天为你分享各种你感兴趣的技术、教程、软件、资源、福利……(每天更新不间断,福利不见不散)

第1章 前言

        巡检脚本在网络运维中非常重要,近期客户想要一些简单的脚本实现自动化常规项的检查,本文主要介绍一些常见巡检脚本和使用方法。

第2章 脚本案例

1. 网络连通性检查脚本:   

这个脚本会检查与给定服务器的网络连通性。

#!/bin/bashservers="192.168.1.1 192.168.1.2 192.168.1.3"for server in $serversdo  ping -c 1 $server &> /dev/null  if [ $? -eq 0 ]; then    echo "$server is up."  else    echo "$server is down."  fidone

将此脚本保存为check_connectivity.sh,然后运行它:bash check_connectivity.sh

2. 系统负载检查脚本:   

这个脚本会打印当前系统的负载。

#!/bin/bashload=$(uptime | awk -F '[a-z]:' '{ print $2}')echo "Current system load is: $load."

将此脚本保存为check_load.sh,然后运行它:bash check_load.sh

3. 磁盘使用率检查脚本:   

这个脚本会打印根目录的磁盘使用率。

#!/bin/bashdf -h | grep '/$' | awk '{ print $5 }'

将此脚本保存为check_disk_usage.sh,然后运行它:bash check_disk_usage.sh

4. 内存使用率检查脚本:   

这个脚本会打印当前的内存使用率。​​​​​​​

#!/bin/bashfree | grep Mem | awk '{print $3/$2 * 100.0}'

将此脚本保存为check_memory_usage.sh,然后运行它:bsh check_memory_usage.sh

5. 服务运行状态检查脚本:   

这个脚本会检查给定的服务是否正在运行。​​​​​​​

#!/bin/bashservice=apache2if (( $(ps -ef | grep -v grep | grep $service | wc -l) > 0 ))thenecho "$service is running"else/etc/init.d/$service startfi

将此脚本保存为check_service.sh,然后运行它:bash check_service.sh

6. CPU使用率检查脚本:   

这个脚本会打印当前的CPU使用率。​​​​​​​

#!/bin/bashtop -b -n1 | grep "Cpu(s)" | awk '{print $2 + $4}'

将此脚本保存为check_cpu_usage.sh,然后运行它:bash check_cpu_usage.sh

7. 网络流量检查脚本:   

这个脚本会打印指定网络接口的接收和发送的字节数。

#!/bin/bashinterface=eth0RX=$(cat /sys/class/net/$interface/statistics/rx_bytes)TX=$(cat /sys/class/net/$interface/statistics/tx_bytes)echo "Received: $RX"echo "Transmitted: $TX"

将此脚本保存为check_network_traffic.sh,然后运行它:bash check_network_traffic.sh

8. 开放端口检查脚本:   

这个脚本会打印所有开放的网络端口。​​​​​​​

#!/bin/bashnetstat -lntu

将此脚本保存为check_open_ports.sh,然后运行它:bash check_open_ports.sh

9. 系统启动时间检查脚本:   

这个脚本会打印系统启动的时间。​​​​​​​

#!/bin/bashuptime -s

将此脚本保存为check_uptime.sh,然后运行它:bash check_uptime.sh

10. 用户登录检查脚本:   

这个脚本会打印当前登录的用户。

#!/bin/bashwho

将此脚本保存为check_logged_in_users.sh,然后运行它:bash check_logged_in_users.sh

以上脚本仅供参考,具体的巡检脚本需要根据你的实际网络环境和需求进行编写。

第3章 前言

想起夕阳下的奔跑,那是我逝去的青春。

### 编写Linux系统监控运维脚本的指南 #### 1. 系统资源监控 在编写监控脚本时,可以利用`top`、`htop`、`free`、`vmstat`等工具来获取CPU使用率、内存占用等信息。例如,可以通过以下命令组合来获取当前系统的空闲CPU百分比: ```bash top -bn1 | grep "Cpu(s)" | awk '{print $2 + $4}' ``` 此命令通过`top`获取单次快照数据,并用`awk`处理输出以计算用户时间和系统时间的总和,从而得到CPU使用情况。 #### 2. 磁盘空间监控 对于磁盘空间的监控,可以使用`df`命令结合`awk`来检查特定分区的空间使用情况。下面是一个示例脚本片段,它会打印出根目录下的可用空间: ```bash df -h / | awk 'NR==2 {print $4}' ``` 这段代码执行了`df -h`命令并过滤出第二行(即根目录的信息),然后打印出第四列,也就是剩余空间大小。 #### 3. 日志文件分析 日志文件是故障排查的重要依据。使用`tail`、`grep`以及`awk`等工具可以帮助快速定位问题。比如,要查找最近10分钟内出现在系统日志中的错误消息,可以这样操作: ```bash journalctl --since "10 minutes ago" | grep -i error ``` 这里使用了`journalctl`来查看系统日志,并且只显示过去十分钟内的条目,再通过`grep`过滤出包含“error”的行。 #### 4. 自动化巡检与警报机制 创建一个定时任务(如cron job)来定期运行上述监控脚本是非常有用的。此外,还可以将这些脚本集成到更复杂的自动化框架中,当检测到异常条件时发送电子邮件或触发其他通知方式。 #### 5. 安全性考虑 确保所有编写的脚本都具有适当的安全权限设置,避免不必要的暴露敏感信息。同时,在脚本中处理密码或其他机密数据时应格外小心,最好采用加密存储或者不直接硬编码于脚本之中。 #### 6. 脚本优化技巧 - 使用函数封装重复使用的代码块。 - 利用数组和循环结构简化复杂逻辑。 - 对输入参数进行验证,保证程序健壮性。 - 添加详细的注释说明每个部分的功能及预期效果。 #### 7. 示例:综合监控脚本 下面提供了一个简单的综合监控脚本示例,它可以报告CPU利用率、内存使用量以及根分区的剩余空间: ```bash #!/bin/bash echo "System Monitoring Script" echo "------------------------" # CPU Usage cpu_usage=$(top -bn1 | grep "Cpu(s)" | awk '{print $2 + $4}') echo "CPU Usage: ${cpu_usage}%" # Memory Usage mem_info=$(free -m | grep Mem) mem_total=$(echo $mem_info | awk '{print $2}') mem_used=$(echo $mem_info | awk '{print $3}') mem_percent=$((mem_used * 100 / mem_total)) echo "Memory Usage: ${mem_used}MB/${mem_total}MB ($mem_percent%)" # Disk Space on Root Partition root_disk_free=$(df -h / | awk 'NR==2 {print $4}') echo "Free Disk Space on / : $root_disk_free" ``` 以上内容提供了从基础到进阶层面关于如何编写有效的Linux系统监控运维脚本的知识点和技术建议。希望这能帮助您开始构建自己的监控解决方案。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

虚拟化爱好者

创作不易

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值