summaryrefslogtreecommitdiffstats
path: root/server/ipxe/grepSystemInfo.sh
blob: 2f8e6ccbd56aa72995a997e9599846d7c993239f (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
#!/bin/bash

#dmidecode | grep -i UUID

# MAC
# MAC=$(ip addr show | grep -Eo -m 1 'ether\s.*\sbrd')
# MAC=${MAC#"ether "}
# MAC=${MAC%" brd"}

# UUID
UUID=$(dmidecode -q -s system-uuid | grep -v '^#' | head -n 1 | tr '[a-z]' '[A-Z]')

# System
MANUFACTURER=$(dmidecode -q -s system-manufacturer)
MODEL=$(dmidecode -q -s system-product-name)
SERIAL=$(dmidecode -q -s system-serial-number)
VENDOR=$(dmidecode | grep -Eo '(Vendor).*')
VENDOR=${VENDOR#"Vendor: "}

# Mainboard
MAINBOARD_MANUFACTURER=$(dmidecode -q -s baseboard-manufacturer)
MAINBOARD_MODEL=$(dmidecode -q -s baseboard-product-name)
MAINBOARD_SERIAL_NUMBER=$(dmidecode -q -s baseboard-serial-number)

# CPU
CPU_MODEL=$(dmidecode -q -s processor-version)
CPU_MANUFACTURER=$(dmidecode -q -s processor-manufacturer)
CPU_TYPE=$(dmidecode -q -s processor-family)
CPU_CORES=$(cat /sys/devices/system/cpu/cpu*/topology/thread_siblings_list | sort -u | wc -l)
#CPUMODEL=$(grep -m1 '^model name\s*:' /proc/cpuinfo | sed 's/^model name\s*:\s*//;s/\s\s*/ /g;s/^ //;s/ $//')
#echo "$CPUMODEL"
CPU_FREQUENCY=$(dmidecode -q -s processor-frequency)

# RAM
# RAM=$(grep -m1 '^MemTotal:' /proc/meminfo | awk '{print $2}')
# RAM=$(( $RAM / 1024 ))
# if [ -z "$RAM" ] || [ "$RAM" -lt 500 ]; then
# 	# Fallback to dmidecode
# 	RAM=0
# 	for c in $(dmidecode -t 17 | grep -o 'Size:.*MB$' | awk '{print $2}'); do
# 		RAM=$(( $RAM + $c ))
# 	done
# fi

# Curl
#curl --data "state=6" --insecure https://bas.stfu-kthx.net:8888/api/registrations/$UUID/state
curl -d "uuid=$UUID&name=Client_$UUID&sys_manufacturer=$MANUFACTURER&sys_model=$MODEL&sys_serial=$SERIAL&cpu_model=$CPU_MODEL&cpu_manufacturer=$CPU_MANUFACTURER&cpu_type=$CPU_TYPE&cpu_cores=$CPU_CORES&cpu_frequency=$CPU_FREQUENCY" -H "Content-Type: application/x-www-form-urlencoded" -X POST https://bas.intra.uni-freiburg.de/api/registrations/$UUID/update