Systeminformationen des Raspberry Pi werden gesammelt und mit Hilfe eines Bashskripts in eine Datenbank geschrieben.
Dazu benötigt man folgende Serverarten: Webserver mit PHP und Datenbankserver.
Datenbank und User anlegen
~ $ sudo mysql
> create database systeminfo;
> show databases;
> create user 'pi'@'localhost' identified by 'raspberry';
> grant all privileges on systeminfo.* to 'pi'@'localhost';
> flush privileges;
> exit
Erstellen der Tabelle mit Datum und vier Messwerten
~ $ mysql -u pi -p systeminfo
> show databases;
> use systeminfo;
> create table systemvalues (pkdate datetime not null primary key, temp float, avgload1 float, avgload5 float, avgload15 float);
> select * from systemvalues;
Erstellen der Bashskriptdatei.
~ $ nano systeminfo2db.sh
#!/bin/bash
#Temperaturwert filtern und auf Variable speichern
temp=$(vcgencmd measure_temp | cut -d= -f2 |cut -d\' -f1)
#Durchschnittliche Prozessorlast nach 1, 5 und 15 min
#filtern und auf Variable speichern
avgload1=$(cat /proc/loadavg | cut -d" " -f1)
avgload5=$(cat /proc/loadavg | cut -d" " -f2)
avgload15=$(cat /proc/loadavg | cut -d" " -f3)
mysql --user=pi --password=raspberry systeminfo<<EOF
insert into systemvalues (pkdate, temp, avgload1, avgload5, avgload15) values(now(), $temp, $avgload1, $avgload5, $avgload15);
EOF
Skript ausführbar machen.
~ $ chmod +x systeminfo2db.sh
Testen des Bashskripts
~ $ ./systeminfo2db.sh
~ $ mysql -u pi -p systeminfo
> use systeminfo;
> select * from systemvalues;
Crontab editiern
~ $ crontab -e
Folgende Werte einfügen:
* * * * * /home/pi/systeminfo2db.sh
* * * * * sleep 15; /home/pi/systeminfo2db.sh
* * * * * sleep 30; /home/pi/systeminfo2db.sh
* * * * * sleep 45; /home/pi/systeminfo2db.sh
Datei speichern und den Editor mit Strg + X verlassen.
Wähle die korrekten Aussagen aus.
Nenne die Endung einer Bashscript-Datei.
Wähle eine Antwort.
.bs.sh.exe.htmlSpeicher in Bashscript einen Wert auf einer Variablen.
Wähle eine Antwort.
$x = ...x = ...int x = ...x = $(...)Mache die Datei info.sh ausführbar.
Wähle eine Antwort.
chmod +w info.shchmod +r info.shchmod 755 info.shchmod 111 info.shSchreibe einen Kommentar in Bashscript.
Wähle eine Antwort.
#Kommentar/*Kommentar*/<!-- Kommentar -->//KommentarAus der Anzeige volt=0.8600V soll der Wert ausgeschnitten werden. Wähle eine Antwort.
vcgencmd measure_volts |cut -d= -f1 |cut -dV -f2vcgencmd measure_volts |cut -d= -f2 |cut -dV -f1vcgencmd measure_volts |cut -d= -f2 vcgencmd measure_volts |cut -dV -f2 |cut -d' -f1Nenne die beiden Codewörter zwischen denen in Bashscript ein sql-Befehl steht. Wähle eine Antwort.
<<SQL ... SQL<< ... <<insert ... insert<<EOF ... EOFEditiere Cronjob.
Wähle eine Antwort.
crontab -ecronjob cronjob -ecronjob -e -dDie Datei info.sh soll jede volle Stunde ausgeführt werden.
Wähle eine Antwort.
* 0 * * * /home/pi/info.sh* 1 * * * /home/pi/info.sh0 * * * * /home/pi/info.sh* * * * * /home/pi/info.shIm ersten Schritt wird ein User und die Tabelle in der Datenbank angelegt.
systeminfo.Im zweiten Schritt wird eine Bashscript-Datei erstellt und die Daten damit in die Datenbank geschrieben.
systeminfo2db.sh.temp, avgload1, avglod5, avgload15.systeminfo2db.sh ausführbar.