Add sysinfo.sh
This commit is contained in:
66
sysinfo.sh
Normal file
66
sysinfo.sh
Normal file
@@ -0,0 +1,66 @@
|
|||||||
|
#!/bin/bash
|
||||||
|
|
||||||
|
# --- CONFIGURATION ---
|
||||||
|
# Add the exact service names you want to monitor here
|
||||||
|
SERVICES=("nginx" "apache2" "httpd" "mysql" "mariadb" "docker" "sshd" "salt-minion" "postfix" "sendmail" "veeamservice" "publicweb")
|
||||||
|
|
||||||
|
# --- COLORS ---
|
||||||
|
GREEN='\033[1;32m'
|
||||||
|
BLUE='\033[1;34m'
|
||||||
|
RED='\033[1;31m'
|
||||||
|
NC='\033[0m'
|
||||||
|
|
||||||
|
clear
|
||||||
|
echo -e "${BLUE}===================================================${NC}"
|
||||||
|
echo -e "${GREEN} SYSTEM INFORMATION: $(hostname)${NC}"
|
||||||
|
echo -e "${BLUE}===================================================${NC}"
|
||||||
|
|
||||||
|
# 1. OS & Kernel Info (NEW)
|
||||||
|
# Tries to grab the "Pretty Name" (e.g., Ubuntu 20.04 LTS) from os-release
|
||||||
|
if [ -f /etc/os-release ]; then
|
||||||
|
. /etc/os-release
|
||||||
|
os_name=$PRETTY_NAME
|
||||||
|
else
|
||||||
|
# Fallback for very old systems
|
||||||
|
os_name=$(uname -s)
|
||||||
|
fi
|
||||||
|
kernel_version=$(uname -r)
|
||||||
|
|
||||||
|
echo -e "OS: $os_name"
|
||||||
|
echo -e "KERNEL: $kernel_version"
|
||||||
|
echo -e "UPTIME: $(uptime -p)"
|
||||||
|
echo -e "LOAD AVG: $(cat /proc/loadavg | awk '{print $1, $2, $3}')"
|
||||||
|
echo ""
|
||||||
|
|
||||||
|
# 2. Memory Usage
|
||||||
|
mem_total=$(free -m | awk '/Mem:/ { print $2 }')
|
||||||
|
mem_used=$(free -m | awk '/Mem:/ { print $3 }')
|
||||||
|
mem_percent=$(awk "BEGIN {printf \"%.2f\",(${mem_used}/${mem_total})*100}")
|
||||||
|
echo -e "MEMORY: ${mem_used}MB / ${mem_total}MB (${mem_percent}%)"
|
||||||
|
|
||||||
|
# 3. Disk Usage
|
||||||
|
disk_usage=$(df -h / | awk '/dev/')
|
||||||
|
echo -e "DISK (/): $disk_usage"
|
||||||
|
echo ""
|
||||||
|
|
||||||
|
# 4. Service Status
|
||||||
|
echo -e "${BLUE}--- SERVICE STATUS ---${NC}"
|
||||||
|
for service in "${SERVICES[@]}"; do
|
||||||
|
if systemctl list-unit-files --state=enabled,disabled,generated | grep -Fq "$service.service"; then
|
||||||
|
if systemctl is-active --quiet "$service"; then
|
||||||
|
echo -e " $service: ${GREEN}● ACTIVE${NC}"
|
||||||
|
else
|
||||||
|
echo -e " $service: ${RED}● DOWN/INACTIVE${NC}"
|
||||||
|
fi
|
||||||
|
elif systemctl is-active --quiet "$service"; then
|
||||||
|
echo -e " $service: ${GREEN}● ACTIVE${NC}"
|
||||||
|
fi
|
||||||
|
done
|
||||||
|
|
||||||
|
# 5. Network & User Info
|
||||||
|
ip_addr=$(hostname -I | cut -d' ' -f1)
|
||||||
|
echo ""
|
||||||
|
echo -e "IP ADDR: $ip_addr"
|
||||||
|
echo -e "USER: $USER"
|
||||||
|
echo -e "${BLUE}===================================================${NC}"
|
||||||
|
echo ""
|
||||||
Reference in New Issue
Block a user