hardwareerkennungsskript
Unterschiede
Hier werden die Unterschiede zwischen zwei Versionen angezeigt.
| hardwareerkennungsskript [2016-04-12 22:50:01] – Externe Bearbeitung 127.0.0.1 | hardwareerkennungsskript [2018-05-28 11:19:22] (aktuell) – manfred | ||
|---|---|---|---|
| Zeile 1: | Zeile 1: | ||
| + | ===== Hardwareerkennungsskript ===== | ||
| + | |||
| + | Oft muss man von vielen Maschinen die wichtigsten Hardware-Daten über das Netz abfragen. | ||
| + | Genau für soeinen Fall stelle ich hier zwei Skripte vor. | ||
| + | |||
| + | - Gibt von der aktuellen Maschine die wichtigsten Hardware-Daten in Form von // | ||
| + | - Wird mit dem Hostnamen bzw. der IP als Parameter aufgerufen und legt auf der aktuellen Maschine eine Datenbank mit zugehöriger Tabelle an und schreibt gleich die Hardware-Daten, | ||
| + | |||
| + | |||
| + | ==== einfaches HW-Skript ==== | ||
| + | |||
| + | #!/bin/sh | ||
| + | | ||
| + | ( | ||
| + | | ||
| + | # Hostname | ||
| + | echo " | ||
| + | | ||
| + | # IP-Adressen | ||
| + | ifconfig -a | awk ' | ||
| + | | ||
| + | # MAC-Adressen | ||
| + | find /sys/ -type f | fgrep ' | ||
| + | | ||
| + | # BIOS-Datum | ||
| + | dmidecode -t 0 | fgrep -i ' | ||
| + | | ||
| + | # System-Infos | ||
| + | dmidecode -t 1 | egrep -i ' | ||
| + | | ||
| + | # Anzahl der CPUs | ||
| + | dmidecode -t processor | egrep -i ' | ||
| + | | ||
| + | # 64Bit oder nicht | ||
| + | egrep ^flags / | ||
| + | | ||
| + | # Hardwarevirtualisierung | ||
| + | egrep ^flags / | ||
| + | | ||
| + | # Hyper-Threading oder nicht | ||
| + | awk -v alt=' | ||
| + | | ||
| + | # CPU-Infos | ||
| + | dmidecode -t processor | sed -e ' | ||
| + | | ||
| + | # Hauptspeichergröße | ||
| + | egrep ^MemTotal / | ||
| + | | ||
| + | # Festplatten | ||
| + | fgrep -H 0 / | ||
| + | | ||
| + | ) | awk -F' | ||
| + | |||
| + | Die Angabe "'' | ||
| + | |||
| + | |||
| + | ==== remote abfragendes HW-Skript mit Datenbankanbindung ==== | ||
| + | |||
| + | #!/bin/sh | ||
| + | | ||
| + | # | ||
| + | # User-Check | ||
| + | | ||
| + | if [ "$(id -u)" != " | ||
| + | echo "Sie muessen ' | ||
| + | echo " | ||
| + | echo "die IP des Zielrechners als Parameter mit übergeben!" | ||
| + | exit 1 | ||
| + | else | ||
| + | rm -fr HWINFOS SPALTEN WERTE | ||
| + | fi | ||
| + | | ||
| + | # | ||
| + | # VARIABLEN werden gesammelt bzw. gesetzt | ||
| + | | ||
| + | . / | ||
| + | | ||
| + | # | ||
| + | # | ||
| + | # | ||
| + | # | ||
| + | # | ||
| + | HWINFOTAB=" | ||
| + | | ||
| + | # | ||
| + | # DB + Tabelle anlegen | ||
| + | | ||
| + | ################################################################################ | ||
| + | # echo "DROP TABLE hardware" | ||
| + | # ./ | ||
| + | # ./ | ||
| + | # echo " | ||
| + | # echo " | ||
| + | ################################################################################ | ||
| + | | ||
| + | echo " | ||
| + | CREATE DATABASE IF NOT EXISTS ${OPENQRM_DATABASE_NAME}; | ||
| + | USE ${OPENQRM_DATABASE_NAME}; | ||
| + | | ||
| + | CREATE TABLE IF NOT EXISTS ${HWINFOTAB} ( | ||
| + | timestamp DATETIME, | ||
| + | hostname VARCHAR(254) default NULL, | ||
| + | ip4 VARCHAR(4096) default NULL, | ||
| + | mac VARCHAR(2048) default NULL, | ||
| + | bios_release_date VARCHAR(256) default NULL, | ||
| + | bios_manufacturer VARCHAR(256) default NULL, | ||
| + | bios_product_name VARCHAR(256) default NULL, | ||
| + | bios_serial_number VARCHAR(256) default NULL, | ||
| + | cpu_anzahl SMALLINT, | ||
| + | bus VARCHAR(8) default NULL, | ||
| + | vm VARCHAR(8) default NULL, | ||
| + | htt SMALLINT, | ||
| + | cpu_family VARCHAR(256) default NULL, | ||
| + | cpu_manufacturer VARCHAR(256) default NULL, | ||
| + | cpu_id VARCHAR(256) default NULL, | ||
| + | cpu_signature VARCHAR(256) default NULL, | ||
| + | cpu_core_count SMALLINT, | ||
| + | cpu_core_enabled SMALLINT, | ||
| + | memtotal VARCHAR(256) default NULL, | ||
| + | hdd VARCHAR(256) default NULL, | ||
| + | PRIMARY KEY (bios_serial_number), | ||
| + | KEY mac (mac) | ||
| + | ) TYPE=MyISAM; | ||
| + | " | mysql -h ${OPENQRM_DATABASE_SERVER} -u${OPENQRM_DATABASE_USER} -p${OPENQRM_DATABASE_PASSWORD} | ||
| + | | ||
| + | # | ||
| + | # Hardwareinfos werden gesammelt | ||
| + | | ||
| + | # | ||
| + | # cat hardwareinfos_holen.sh | ssh root@192.168.3.70 'cat > hwi.sh; | ||
| + | # | ||
| + | | ||
| + | echo "( | ||
| + | # TIMESTAMP | ||
| + | echo \" | ||
| + | | ||
| + | # Hostname | ||
| + | echo \" | ||
| + | | ||
| + | # IP-Adressen | ||
| + | ifconfig -a | awk ' | ||
| + | | ||
| + | # MAC-Adressen | ||
| + | find /sys/ -type f | fgrep ' | ||
| + | | ||
| + | # BIOS-Datum | ||
| + | dmidecode -t 0 | fgrep -i ' | ||
| + | | ||
| + | # System-Infos | ||
| + | dmidecode -t 1 | egrep -i ' | ||
| + | | ||
| + | # Anzahl der CPUs | ||
| + | dmidecode -t processor | egrep -i ' | ||
| + | | ||
| + | # 64Bit oder nicht | ||
| + | egrep ^flags / | ||
| + | | ||
| + | # Hardwarevirtualisierung | ||
| + | egrep ^flags / | ||
| + | | ||
| + | # Hyper-Threading oder nicht | ||
| + | awk -v alt=' | ||
| + | | ||
| + | # CPU-Infos | ||
| + | dmidecode -t processor | sed -e ' | ||
| + | | ||
| + | # Hauptspeichergröße | ||
| + | egrep ^MemTotal / | ||
| + | | ||
| + | # Festplatten | ||
| + | fgrep -H 0 / | ||
| + | | ||
| + | ) | awk -F' | ||
| + | | ||
| + | # | ||
| + | # Hardwareinfos werden aufbereitet | ||
| + | | ||
| + | HARDWAREINDEX=" | ||
| + | | ||
| + | echo " | ||
| + | do | ||
| + | WERTE=" | ||
| + | echo " | ||
| + | echo "' | ||
| + | done | ||
| + | | ||
| + | # | ||
| + | # Hardwareinfos werden in die DB geschrieben | ||
| + | | ||
| + | echo " | ||
| + | " | mysql -h ${OPENQRM_DATABASE_SERVER} -u${OPENQRM_DATABASE_USER} -p${OPENQRM_DATABASE_PASSWORD} ${OPENQRM_DATABASE_NAME} | ||
| + | |||
| + | In diesem Fall ist es so ausgelegt, das es in die selbe Datenbank schreibt, in der auch [[http:// | ||
| + | Das kann man natürlich den eigenen Vorlieben anpassen. | ||
| + | |||
