Update dmidecode2dokuwiki.sh
This commit is contained in:
@@ -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 <<EOF
|
||||
^ $HOSTNAME ^ ^
|
||||
| FQDN | $FQDN |
|
||||
| IP address | $IP_ADDR |
|
||||
|
||||
^ Eigenschap ^ Waarde ^
|
||||
| Hostname | $(hostname -f) |
|
||||
| ip address | $(ip address|grep "inet "|cut -d " " -f 6|grep -v 127.0) |
|
||||
| Fabrikant | $MANUFACTURER |
|
||||
| Productnaam | $PRODUCT_NAME |
|
||||
| Serienummer | $SERIAL_NUMBER |
|
||||
@@ -51,21 +85,14 @@ cat <<EOF
|
||||
| BIOS-datum | $BIOS_DATE |
|
||||
| CPU-model | $CPU_MODEL |
|
||||
| CPU-sockets | $CPU_SOCKETS |
|
||||
| Totaal geheugen | ${MEMORY_GB} GB |
|
||||
| Totaal geheugen | ${MEMORY_TOTAL_GB} GB |
|
||||
| Aantal schijven | $DISK_COUNT |
|
||||
|
||||
^ Schijf ^ Model ^ Grootte ^ Type ^
|
||||
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
|
||||
eval "$LINE"
|
||||
eval "$LINE" # Zet NAME="sda" MODEL="QEMU HARDDISK" SIZE="20G" enz.
|
||||
|
||||
[[ "$TYPE" != "disk" ]] && continue
|
||||
|
||||
|
||||
Reference in New Issue
Block a user