1
0

Update dmidecode2dokuwiki.sh

This commit is contained in:
2026-01-22 11:02:56 +01:00
parent 0ac1a672b9
commit f1f7e3cdb4

View File

@@ -6,11 +6,21 @@ if [[ $EUID -ne 0 ]]; then
exit 1 exit 1
fi fi
# Helperfunctie # ======================
# Helperfunctie voor dmidecode
# ======================
get_dmi_value() { get_dmi_value() {
dmidecode -t "$1" | grep -m1 "$2" | cut -d: -f2- | xargs 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 # 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_MODEL=$(dmidecode -t processor | grep -m1 "Version:" | cut -d: -f2- | xargs)
CPU_SOCKETS=$(dmidecode -t processor | grep "Socket Designation:" | wc -l) 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}') # GEHEUGEN
MEMORY_GB=$((MEMORY_MB / 1024)) # ======================
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 # SCHIJFINFORMATIE
# ====================== # ======================
DISKS=$(lsblk -d -o NAME,MODEL,SIZE,ROTA,TYPE | grep -E "disk") DISKS=$(lsblk -d -P -o NAME,MODEL,SIZE,ROTA,TYPE)
DISK_COUNT=$(echo "$DISKS" | grep -c 'TYPE="disk"')
DISK_COUNT=$(echo "$DISKS" | wc -l)
# ====================== # ======================
# DOKUWIKI OUTPUT # DOKUWIKI OUTPUT
# ====================== # ======================
cat <<EOF cat <<EOF
^ $HOSTNAME ^ ^
| FQDN | $FQDN |
| IP address | $IP_ADDR |
^ Eigenschap ^ Waarde ^ ^ Eigenschap ^ Waarde ^
| Hostname | $(hostname -f) |
| ip address | $(ip address|grep "inet "|cut -d " " -f 6|grep -v 127.0) |
| Fabrikant | $MANUFACTURER | | Fabrikant | $MANUFACTURER |
| Productnaam | $PRODUCT_NAME | | Productnaam | $PRODUCT_NAME |
| Serienummer | $SERIAL_NUMBER | | Serienummer | $SERIAL_NUMBER |
@@ -51,21 +85,14 @@ cat <<EOF
| BIOS-datum | $BIOS_DATE | | BIOS-datum | $BIOS_DATE |
| CPU-model | $CPU_MODEL | | CPU-model | $CPU_MODEL |
| CPU-sockets | $CPU_SOCKETS | | CPU-sockets | $CPU_SOCKETS |
| Totaal geheugen | ${MEMORY_GB} GB | | Totaal geheugen | ${MEMORY_TOTAL_GB} GB |
| Aantal schijven | $DISK_COUNT | | Aantal schijven | $DISK_COUNT |
^ Schijf ^ Model ^ Grootte ^ Type ^ ^ Schijf ^ Model ^ Grootte ^ Type ^
EOF EOF
# ======================
# SCHIJFINFORMATIE
# ======================
DISKS=$(lsblk -d -P -o NAME,MODEL,SIZE,ROTA,TYPE)
DISK_COUNT=$(echo "$DISKS" | grep -c 'TYPE="disk"')
while read -r LINE; do while read -r LINE; do
eval "$LINE" eval "$LINE" # Zet NAME="sda" MODEL="QEMU HARDDISK" SIZE="20G" enz.
[[ "$TYPE" != "disk" ]] && continue [[ "$TYPE" != "disk" ]] && continue