#!/bin/bash
# 列出指定进程的详细信息
echo "===== 进程信息 ====="
processes=('nginx' 'zabbix' 'fdfs' 'redis' 'mysql' 'java' 'clamav')
for process in "${processes[@]}"; do
ps_output=$(ps -ef | grep -E "$process" | grep -v grep)
if [ -n "$ps_output" ]; then
echo "$ps_output"
else
echo "$process 进程不存在."
fi
done
# 输出 Last 登录信息
echo "===== 最近登录信息 ====="
last | head
# 输出登录用户信息
echo "===== 登录用户信息 ====="
who
# 输出主机 IP 地址
echo "===== 主机 IP 地址 ====="
hostname -I
# 输出磁盘使用情况
echo "===== 磁盘使用情况 ====="
df_output=$(df -h)
echo "$df_output"
disk_usage=$(echo "$df_output" | awk '$5 ~ /%$/ {gsub("%","",$5); if ($5 > 80) { print $5 }}')
if [ -n "$disk_usage" ]; then
echo "以下分区磁盘使用超过80%:"
echo "$df_output" | awk '$5 ~ /%$/ {gsub("%","",$5); if ($5 > 80) { print $0 }}'
fi
# 查找日志中的错误信息
echo "===== 错误信息 ====="
error_messages=$(grep -r 'ERROR' /var/log/messages* 2>/dev/null)
if [ -n "$error_messages" ]; then
echo "$error_messages"
else
echo "未找到错误信息."
fi
# 输出网络连接信息
echo "===== 网络连接信息 ====="
ss -nutlp | grep -vE 'dnsmasq|rpcbind|avahi-daemon|chronyd|ssh|cupsd' | awk -F ' ' '{print $1,$5}'
# 同步时间
echo "===== 同步时间 ====="
ntpdate ntp3.aliyun.com