Hardwaretipps | Tipps & Tricks | David Wolski | 1/2026 | 28. November 2025

Systemd: CPU-Temperatur aufzeichnen

Wer die System- und CPU-Temperaturen im Auge behalten muss, bekommt unter Linux mit dem Paket lm-sensors bei jeder verbreiteten Linux-Distribution das passende Messinstrument für viele Chipsätze. Auf unbeaufsichtigten Servern reichen Stichproben aber nicht. Ein Systemd-Timer kann die Messwerte über einen längeren Zeitraum sammeln.

Temperaturprotokoll: Der Befehl gibt in einem Intervall von fünf Sekunden die CPU-Temperatur von „sensors“ aus. Die Zeichenkette „CPU“ gilt es noch anzupassen.

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