#!/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