#!/bin/bash # Define the ASCII art maps large1=''' ┌─────────────────────────────────────────────────────────────┐ │ │ │ large1 │ │ │ │ ┌─────────────────┐ ┌─────────────────┐ ┌─────────────────┐ │ │ │ │ │ │ │ │ │ │ │ 1 │ │ 2 │ │ 3 │ │ │ │ │ │ │ │ │ │ │ └─────────────────┘ └─────────────────┘ └─────────────────┘ │ │ ┌─────────────────┐ ┌─────────────────┐ ┌─────────────────┐ │ │ │ │ │ │ │ │ │ │ │ 4 │ │ 5 │ │ 6 │ │ │ │ │ │ │ │ │ │ │ └─────────────────┘ └─────────────────┘ └─────────────────┘ │ │ ┌─────────────────┐ ┌─────────────────┐ ┌─────────────────┐ │ │ │ │ │ │ │ │ │ │ │ 7 │ │ 8 │ │ 9 │ │ │ │ │ │ │ │ │ │ │ └─────────────────┘ └─────────────────┘ └─────────────────┘ │ └─────────────────────────────────────────────────────────────┘ ''' medium1=''' ┌─────────────────────────────────────────────────────────────┐ │ │ │ ┌────────────┐ ┌────────────┐ ┌────────────┐ ┌────────────┐ │ │ │ 1 │ │ 2 │ │ 3 │ │ 4 │ │ │ └────────────┘ └────────────┘ └────────────┘ └────────────┘ │ │ │ │ ┌────────────┐ ┌────────────┐ ┌────────────┐ ┌────────────┐ │ │ │ 5 │ │ 6 │ │ 7 │ │ 8 │ │ │ └────────────┘ └────────────┘ └────────────┘ └────────────┘ │ │ │ │ │ │ │ │ ┌─────────┐ │ │ medium1 │ 9 │ │ │ └─────────┘ │ │ ┌─────────┐ │ │ │ 10 │ │ │ └─────────┘ │ │ │ └─────────────────────────────────────────────────────────────┘ ''' medium2=''' ┌──────────────────────────────────────────────────────────────┐ │ │ │ │ │ │ │ │ │ medium2 │ │ │ │ │ │ │ │ ┌────┐┌────┐┌────┐┌────┐┌────┐┌────┐┌────┐┌────┐┌────┐┌────┐ │ │ │ ││ ││ ││ ││ ││ ││ ││ ││ ││ │ │ │ │ ││ ││ ││ ││ ││ ││ ││ ││ ││ │ │ │ │ ││ ││ ││ ││ ││ ││ ││ ││ ││ │ │ │ │ 1 ││ 2 ││ 3 ││ 4 ││ 5 ││ 6 ││ 7 ││ 8 ││ 9 ││ 10 │ │ │ │ ││ ││ ││ ││ ││ ││ ││ ││ ││ │ │ │ │ ││ ││ ││ ││ ││ ││ ││ ││ ││ │ │ │ │ ││ ││ ││ ││ ││ ││ ││ ││ ││ │ │ │ └────┘└────┘└────┘└────┘└────┘└────┘└────┘└────┘└────┘└────┘ │ │ │ └──────────────────────────────────────────────────────────────┘ ''' microGeneric=''' ┌─┐ ┌─┐ ┌└─┘──└─┘┐ │ 1 2 │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ └────────┘ ''' # Get the hostname HOSTNAME=$(hostname) # ASCII art based on hostname case "$HOSTNAME" in "large1") echo -e "$large1" ;; "medium1") echo -e "$medium1" ;; "medium2") echo -e "$medium2" ;; "micro1" | "micro2") echo -e "$microGeneric" ;; *) echo -e "No ASCII map defined for this hostname." ;; esac # Enhanced Drive Information Function get_drive_info() { local drive=$1 echo "=== Detailed info for $drive ===" if [[ $drive == *"nvme"* ]]; then sudo nvme smart-log "$drive" else sudo smartctl -A "$drive" | grep -E "Temperature|Power|Health" fi } # Show NVMe Drives with enhanced info echo -e "\n=== NVMe Drives ===" nvme_drives=$(sudo nvme list | grep "^/dev") echo "$nvme_drives" for drive in $(echo "$nvme_drives" | awk '{print $1}'); do get_drive_info "$drive" done # Show SATA Drives with enhanced info echo -e "\n=== SATA Drives ===" lsblk -o NAME,SIZE,TYPE,MOUNTPOINT,MODEL | grep disk for drive in $(lsblk -dnp -o NAME); do get_drive_info "$drive" done # [Previous PCI BDF and disk ID sections remain the same...] # Add RAID Detection echo -e "\n=== RAID Configuration ===" if [ -f /proc/mdstat ]; then cat /proc/mdstat else echo "No software RAID detected" fi # Add ZFS Detection echo -e "\n=== ZFS Pools ===" if command -v zpool >/dev/null 2>&1; then sudo zpool status else echo "ZFS not installed" fi