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
.html
Speicher 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.sh
chmod +r info.sh
chmod 755 info.sh
chmod 111 info.sh
Schreibe einen Kommentar in Bashscript.
Wähle eine Antwort.
#Kommentar
/*Kommentar*/
<!-- Kommentar -->
//Kommentar
Aus der Anzeige volt=0.8600V soll der Wert ausgeschnitten werden. Wähle eine Antwort.
vcgencmd measure_volts |cut -d= -f1 |cut -dV -f2
vcgencmd measure_volts |cut -d= -f2 |cut -dV -f1
vcgencmd measure_volts |cut -d= -f2
vcgencmd measure_volts |cut -dV -f2 |cut -d' -f1
Nenne die beiden Codewörter zwischen denen in Bashscript ein sql-Befehl steht. Wähle eine Antwort.
<<SQL ... SQL
<< ... <<
insert ... insert
<<EOF ... EOF
Editiere Cronjob.
Wähle eine Antwort.
crontab -e
cronjob
cronjob -e
cronjob -e -d
Die Datei info.sh soll jede volle Stunde ausgeführt werden.
Wähle eine Antwort.
* 0 * * * /home/pi/info.sh
* 1 * * * /home/pi/info.sh
0 * * * * /home/pi/info.sh
* * * * * /home/pi/info.sh
Im 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.