Während die Ausgabe des Befehls sensors die Temperaturen im Terminal anzeigt und das grafische Programm Psensor die Messwerte auf dem Desktop präsentiert, gibt es zur Dauerprotokollierung keinen einheitlichen Weg. Man kann sich diese Funktion aber selbst bauen. Eine einfache Methode auf Abruf bietet im Terminal eine Bash-Schleife mit „date“, „sensors“ und „grep“. Dabei führt „while“ die Schleife in einem gewünschten Intervall aus, solange das Terminalfenster geöffnet ist, und „grep“ filtert die Ausgabe von „sensors“ auf die Zeile, welche die CPU-Temperatur liefert. Der Befehl passt in eine komprimierte Zeile:
while sleep 5 ; do printf "`date --rfc-3339=s`: `sensors|grep CPU `\n"; done
Das Intervall ist hier auf fünf Sekunden gesetzt. In diesem Beispiel bleibt von „sensors“ nur jene Zeile, welche die Zeichenkette „CPU:“ enthält. Diese Zeichenkette kann bei unterschiedlichen Prozessoren abweichen und muss noch angepasst werden. Die Eingabe von „sensors“ ohne Parameter zeigt, welche Zeichenkette dies auf dem eigenen System ist. Neben „CPU:“ auf Intel-Systemen ist „temp1“ bei AMD-Prozessoren typischerweise die Bezeichnung für die CPU-Temperatur.
Wichtig ist es, darauf zu achten, dass es sich bei den Hochkommata im abgedruckten Befehl nicht um einfache Anführungszeichen, sondern um sogenannte „Backticks“ handelt. Dieses Sonderzeichen befindet sich auf einer deutschen Tastatur auf dem Hochkomma neben der Rücktaste rechts oben, wenn zusätzlich die Umschalt-Taste gedrückt wird.
Soll die Temperatur im Hintergrund über einen langen Zeitraum protokolliert werden, dann ist ein Systemd-Timer die beste Lösung. Das erfordert allerdings insgesamt drei Dateien:
1. Das Kommando
sudo nano /etc/systemd/system/temperatur.timer
erstellt einen systemweiten Systemd-Timer. In diese Datei kommt dann der Inhalt aus dem abgebildeten Kasten („temperatur.timer“).
2. In die zugehörige Servicedatei kommen nach
sudo nano /etc/systemd/system/temperatur.service
die Zeilen aus dem Kasten unter „temperatur.service“.
3. Das Script zum Schreiben des Logs kommt mit der Eingabe
sudo nano /usr/local/bin/temperatur.sh
in das Systemverzeichnis „/usr/local/bin“ und erhält die folgenden zwei Zeilen:
#!/usr/bin/env sh
printf "`date --rfc-3339=s`: `sensors|grep CPU `\n" >>/var/log/temperatur.log
Das Script muss nach dem Speichern mit
sudo chmod +x /usr/local/bin/temperatur.sh
ausführbar gemacht werden.
4. Um den Timer zu aktivieren, lädt man die Systemd-Konfiguration mit
sudo systemctl daemon-reload
neu. Die Befehle
sudo systemctl start temperatur.timer
sudo systemctl status temperatur
können den Timer manuell starten und überprüfen. Die aufgezeichneten Daten mit Prozessortemperatur landen in der Datei „/var/log/temperatur.log“.
Zusätzliche Information: Zwei Systemd-Listings
temperatur.timer
[Unit]
Description=CPU-Temperatur-Log
[Timer]
OnBootSec=20sec
OnCalendar=*:*:0/60
Unit=temperatur.service
[Install]
WantedBy=multi-user.target
temperatur.service
[Unit]
Description=CPU-Temperatur-Log
[Service]
Type=oneshot
ExecStart=/usr/local/bin/temperatur.sh

