From f1f7e3cdb467368abfc0bcf0b16c7ef521deb4ac Mon Sep 17 00:00:00 2001 From: Thomas de Roo Date: Thu, 22 Jan 2026 11:02:56 +0100 Subject: [PATCH] Update dmidecode2dokuwiki.sh --- dmidecode2dokuwiki.sh | 83 ++++++++++++++++++++++++++++--------------- 1 file changed, 55 insertions(+), 28 deletions(-) diff --git a/dmidecode2dokuwiki.sh b/dmidecode2dokuwiki.sh index 1fc7d5b..6de4948 100644 --- a/dmidecode2dokuwiki.sh +++ b/dmidecode2dokuwiki.sh @@ -6,11 +6,21 @@ if [[ $EUID -ne 0 ]]; then exit 1 fi -# Helperfunctie +# ====================== +# Helperfunctie voor dmidecode +# ====================== get_dmi_value() { dmidecode -t "$1" | grep -m1 "$2" | cut -d: -f2- | xargs } +# ====================== +# Hostinformatie +# ====================== +HOSTNAME=$(hostname) +FQDN=$(hostname -f) +# Pak alle niet-loopback IPv4 adressen +IP_ADDR=$(ip address | grep "inet " | awk '{print $2}' | grep -v "^127" | paste -sd ", " -) + # ====================== # SYSTEEMINFORMATIE # ====================== @@ -26,24 +36,48 @@ BIOS_DATE=$(get_dmi_value bios "Release Date") CPU_MODEL=$(dmidecode -t processor | grep -m1 "Version:" | cut -d: -f2- | xargs) CPU_SOCKETS=$(dmidecode -t processor | grep "Socket Designation:" | wc -l) -# Geheugen (GB) -MEMORY_MB=$(dmidecode -t memory | grep "Size:" | grep -v "No Module Installed" | awk '{sum += $2} END {print sum}') -MEMORY_GB=$((MEMORY_MB / 1024)) +# ====================== +# GEHEUGEN +# ====================== +MEMORY_TOTAL_GB=0 + +while read -r SIZE_LINE; do + SIZE_LINE=$(echo "$SIZE_LINE" | xargs) + [[ "$SIZE_LINE" == "No Module Installed" ]] && continue + + SIZE_VALUE=$(echo "$SIZE_LINE" | awk '{print $1}') + SIZE_UNIT=$(echo "$SIZE_LINE" | awk '{print $2}') + + case "$SIZE_UNIT" in + MB|M) + GB=$(( SIZE_VALUE / 1024 )) + ;; + GB|G) + GB=$(( SIZE_VALUE )) + ;; + *) + GB=0 + ;; + esac + + MEMORY_TOTAL_GB=$(( MEMORY_TOTAL_GB + GB )) +done < <(dmidecode -t memory | grep "Size:" | awk -F: '{print $2}') # ====================== # SCHIJFINFORMATIE # ====================== -DISKS=$(lsblk -d -o NAME,MODEL,SIZE,ROTA,TYPE | grep -E "disk") - -DISK_COUNT=$(echo "$DISKS" | wc -l) +DISKS=$(lsblk -d -P -o NAME,MODEL,SIZE,ROTA,TYPE) +DISK_COUNT=$(echo "$DISKS" | grep -c 'TYPE="disk"') # ====================== # DOKUWIKI OUTPUT # ====================== cat <