Benutzer-Werkzeuge

Webseiten-Werkzeuge


secrets-offen:linux:willkommen

LINUX - Secrets

Linux-Logo


Linux-PC automatisch abschalten & starten

Was ist das Ziel?

Wenn Dein Computer oder Server zu bestimmten Zeiten nicht genutzt wird, kann er automatisch heruntergefahren und später wieder eingeschaltet werden – ohne, dass Du manuell eingreifen musst. Dies spart Energie, schont die Hardware und bietet Komfort. Hier erfährst Du Schritt für Schritt, wie Du dies mit dem Linux-Tool „rtcwake“ und CronJobs einrichtest.

Grundlagen: Was macht „rtcwake“ eigentlich?

Das Tool „rtcwake“ ist ein Standardwerkzeug, das auf den meisten Linux-Systemen vorinstalliert ist. Es arbeitet mit der Echtzeituhr (RTC – Real Time Clock) Deiner Hardware. Diese Uhr funktioniert unabhängig vom Betriebssystem und ist sogar dann aktiv, wenn Dein Computer ausgeschaltet ist. „rtcwake“ verwendet die RTC, um:
1. Deinen Computer in den Schlafmodus oder komplett auszuschalten.
2. Eine automatische Einschaltzeit festzulegen.

Die Vorteile liegen auf der Hand:
- Energie sparen: Der Rechner verbraucht keinen Strom, wenn er nicht gebraucht wird.
- Komfort: Du musst Dich nicht selbst darum kümmern, den Rechner hochzufahren.
- Hardware schonen: Weniger Betriebszeit bedeutet längere Lebensdauer.

Wie funktioniert „rtcwake“?

1. Die grundlegende Syntax von „rtcwake“

Ein einfacher „rtcwake“-Befehl sieht so aus:

sudo rtcwake -m off -s 180

Hier ist, was dabei passiert:

- `sudo`: Da `rtcwake` Administratorrechte benötigt, musst Du den Befehl mit `sudo` ausführen.
- `-m off`: Der Rechner wird vollständig heruntergefahren (andere Modi wie „Standby“ oder „Ruhezustand“ sind auch möglich, dazu später mehr).
- `-s 180`: Der Rechner wird nach 180 Sekunden (3 Minuten) automatisch wieder eingeschaltet.

Das ist ideal, um zu testen, ob Deine Hardware „rtcwake“ unterstützt.

2. Die Modi von „rtcwake“

Der Schalter `-m` legt fest, was mit dem Rechner passieren soll:
- `off`: Der Rechner wird vollständig ausgeschaltet.
- `standby`: Leichter Schlafmodus, schnelleres Aufwachen.
- `mem`: Suspend-to-RAM, Daten bleiben im Arbeitsspeicher.
- `disk`: Suspend-to-Disk, Daten werden auf die Festplatte geschrieben (ähnlich wie Ruhezustand bei Windows).
- `no`: Der Rechner bleibt an, aber ein Aufwachzeitpunkt wird festgelegt.

Für die meisten Fälle reicht der Modus `off`, da er den Rechner vollständig ausschaltet.

3. Zeitangabe mit Sekunden (`-s`)

Mit dem Parameter `-s` gibst Du die Zeit in Sekunden an, nach der der Rechner wieder starten soll. Beispiel:

sudo rtcwake -m off -s 3600\\

Dieser Befehl schaltet den Rechner aus und startet ihn nach 3600 Sekunden (1 Stunde) neu.

Wenn Du längere Zeiten planen willst, kannst Du die Sekunden leicht berechnen:
- 6 Stunden: 6 × 3600 = 21600 Sekunden
- 8 Stunden: 8 × 3600 = 28800 Sekunden

4. Exakte Zeitangabe mit `-t`

Statt die Zeit in Sekunden anzugeben, kannst Du auch eine genaue Uhrzeit verwenden. Beispiel:

sudo rtcwake -m off -t $(date +%s -d 'tomorrow 08:00')

Hier wird Folgendes gemacht:

- `date +%s -d 'tomorrow 08:00'`: Wandelt den Zeitpunkt (morgen um 8:00 Uhr) in Sekunden seit dem 1. Januar 1970 um.
- Der Rechner wird heruntergefahren und startet genau zu diesem Zeitpunkt.

Hinweis: Verwende `today`, wenn der Rechner noch vor Mitternacht eingeschaltet werden soll, und `tomorrow`, wenn er am nächsten Tag starten soll.

Automatisierung mit CronJobs

Ein CronJob ist eine wiederkehrende Aufgabe, die Du zeitlich planen kannst. Damit kannst Du den „rtcwake“-Befehl automatisch ausführen lassen.

1. Crontab für Root bearbeiten

`rtcwake` benötigt Administratorrechte, daher muss der Befehl in der Crontab des Root-Benutzers eingetragen werden:

sudo crontab -e -u root

2. Beispiel für einen CronJob

Angenommen, Du möchtest den Rechner jede Nacht um 1:00 Uhr herunterfahren und nach 8 Stunden (28800 Sekunden) wieder starten:

0 1 * * * /usr/sbin/rtcwake -m off -s 28800

Hier ist die Erklärung:

- `0 1 * * *`: Führt den Befehl jeden Tag um 1:00 Uhr aus.
- `/usr/sbin/rtcwake`: Der vollständige Pfad zu „rtcwake“. Stelle sicher, dass dieser korrekt ist, indem Du `which rtcwake` ausführst.

Was tun, wenn `rtcwake` nicht funktioniert?

Manchmal unterstützt die Hardware die Funktion von „rtcwake“ nicht vollständig. In solchen Fällen gibt es Alternativen:
1. Zeitschaltuhren: Mechanische oder digitale Zeitschaltuhren können den Strom steuern und den Rechner ein- und ausschalten.
2. Smarte Steckdosen: Geräte wie die Fritz DECT 200 können über eine App oder die FritzBox programmiert werden.

Beachte dabei, dass der Shutdown-Befehl (z. B. `shutdown now`) ein paar Minuten vor dem Ausschalten der Stromversorgung geplant werden muss, um Datenverluste zu vermeiden.

Zusammenfassung

Mit „rtcwake“ und CronJobs kannst Du Deinen Linux-Rechner energiesparend und komfortabel steuern. So gehst Du vor:
1. Teste zunächst, ob Deine Hardware „rtcwake“ unterstützt.
2. Plane Zeiten in Sekunden (`-s`) oder verwende feste Uhrzeiten (`-t`).
3. Automatisiere die Steuerung mit CronJobs, um manuelles Eingreifen zu vermeiden.
4. Falls es Probleme gibt, greife auf Alternativen wie Zeitschaltsteckdosen zurück.

secrets-offen/linux/willkommen.txt · Zuletzt geändert: 23-03-2025 18:14 von roland

Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki