哈喽大家好,欢迎来到虚拟化时代君(XNHCYL)。
“ 大家好,我是虚拟化时代君,一位潜心于互联网的技术宅男。这里每天为你分享各种你感兴趣的技术、教程、软件、资源、福利……(每天更新不间断,福利不见不散)
第1章 前言
巡检脚本在网络运维中非常重要,近期客户想要一些简单的脚本实现自动化常规项的检查,本文主要介绍一些常见巡检脚本和使用方法。
第2章 脚本案例
1. 网络连通性检查脚本:
这个脚本会检查与给定服务器的网络连通性。
#!/bin/bash
servers="192.168.1.1 192.168.1.2 192.168.1.3"
for server in $servers
do
ping -c 1 $server &> /dev/null
if [ $? -eq 0 ]; then
echo "$server is up."
else
echo "$server is down."
fi
done
将此脚本保存为check_connectivity.sh,然后运行它:bash check_connectivity.sh
2. 系统负载检查脚本:
这个脚本会打印当前系统的负载。
#!/bin/bash
load=$(uptime | awk -F '[a-z]:' '{ print $2}')
echo "Current system load is: $load."
将此脚本保存为check_load.sh,然后运行它:bash check_load.sh
3. 磁盘使用率检查脚本:
这个脚本会打印根目录的磁盘使用率。
#!/bin/bash
df -h | grep '/$' | awk '{ print $5 }'
将此脚本保存为check_disk_usage.sh,然后运行它:bash check_disk_usage.sh
4. 内存使用率检查脚本:
这个脚本会打印当前的内存使用率。
#!/bin/bash
free | grep Mem | awk '{print $3/$2 * 100.0}'
将此脚本保存为check_memory_usage.sh,然后运行它:bsh check_memory_usage.sh
5. 服务运行状态检查脚本:
这个脚本会检查给定的服务是否正在运行。
#!/bin/bash
service=apache2
if (( $(ps -ef | grep -v grep | grep $service | wc -l) > 0 ))
then
echo "$service is running"
else
/etc/init.d/$service start
fi
将此脚本保存为check_service.sh,然后运行它:bash check_service.sh
6. CPU使用率检查脚本:
这个脚本会打印当前的CPU使用率。
#!/bin/bash
top -b -n1 | grep "Cpu(s)" | awk '{print $2 + $4}'
将此脚本保存为check_cpu_usage.sh,然后运行它:bash check_cpu_usage.sh
7. 网络流量检查脚本:
这个脚本会打印指定网络接口的接收和发送的字节数。
#!/bin/bash
interface=eth0
RX=$(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/bash
netstat -lntu
将此脚本保存为check_open_ports.sh,然后运行它:bash check_open_ports.sh
9. 系统启动时间检查脚本:
这个脚本会打印系统启动的时间。
#!/bin/bash
uptime -s
将此脚本保存为check_uptime.sh,然后运行它:bash check_uptime.sh
10. 用户登录检查脚本:
这个脚本会打印当前登录的用户。
#!/bin/bash
who
将此脚本保存为check_logged_in_users.sh,然后运行它:bash check_logged_in_users.sh
以上脚本仅供参考,具体的巡检脚本需要根据你的实际网络环境和需求进行编写。
第3章 前言
想起夕阳下的奔跑,那是我逝去的青春。