用于进行Linux主机的巡检,包括CPU、内存、磁盘、IO、网络流量、应用状态、存活端口、防火墙策略、主机重启时间、登录连接数和应用数量等方面的信息:
#!/bin/bash
# 获取主机基本信息
host=$(hostname)
kernel=$(uname -r)
uptime=$(uptime -p)
# 检查CPU使用情况
cpu=$(top -bn1 | grep "Cpu(s)")
# 检查内存使用情况
memory=$(free -h)
# 检查磁盘空间
disk_space=$(df -h)
# 检查IO负载
io=$(iostat -x)
# 检查网络流量
network=$(sar -n DEV 1 3)
# 检查应用状态
app_status=$(systemctl list-units --type=service --state=running)
# 检查存活端口
alive_ports=$(netstat -tuln | grep "LISTEN")
# 检查防火墙策略
firewall=$(iptables -nvL)
# 检查主机重启时间
last_reboot=$(who -b)
# 检查登录连接数
login_users=$(who)
# 检查应用数量
app_count=$(systemctl list-units --type=service | wc -l)
# 打印主机基本信息
echo "主机名: $host"
echo "内核版本: $kernel"
echo "运行时间: $uptime"
echo "------------------------------------"
# 打印CPU使用情况
echo "CPU使用情况:"
echo "$cpu"
echo "------------------------------------"
# 打印内存使用情况
echo "内存使用情况:"
echo "$memory"
echo "------------------------------------"
# 打印磁盘空间信息
echo "磁盘空间:"
echo "$disk_space"
echo "------------------------------------"
# 打印IO负载信息
echo "IO负载:"
echo "$io"
echo "------------------------------------"
# 打印网络流量信息
echo "网络流量:"
echo "$network"
echo "------------------------------------"
# 打印应用状态信息
echo "应用状态:"
echo "$app_status"
echo "------------------------------------"
# 打印存活端口信息
echo "存活端口:"
echo "$alive_ports"
echo "------------------------------------"
# 打印防火墙策略信息
echo "防火墙策略:"
echo "$firewall"
echo "------------------------------------"
# 打印主机重启时间
echo "主机重启时间:"
echo "$last_reboot"
echo "------------------------------------"
# 打印登录连接数
echo "登录连接数:"
echo "$login_users"
echo "------------------------------------"
# 打印应用数量
echo "应用数量:"
echo "$app_count"
echo "------------------------------------"
保存上述代码为一个名为 host_inspection.sh
的脚本文件,并为其添加可执行权限:
chmod +x host_inspection.sh
然后,运行脚本文件来进行主机巡检