Blog Digitalgesellschaft Verwaltungsbetrieb Textarchiv Textarchiv Walter Kirk (✝) Impressum
Automatischer Start und Shutdown
1 Vorbemerkung2 Wake on Lan einrichtenSchritt 1: Hilfsprogramme installierenSchritt 2: Wake on LAN aktivieren1 Aktivierung im BIOS2 Manuelle AktivierungSchritt 3 Dauerhafte Aktivierung Schritt 4: Aufwecken3 Automatischer Shutdown3.1 Einrichten eines Cronjobs3.2 Bedingung4 Fazit5 Community
Unter vielen Nutzungsmöglichkeiten der persönlichen IT-Ausstattung gibt es zwei Details, die es gilt, in eine automatische Routine zu überführen: 1. das (fast) automatische Starten, 2. das zeit-geplante Herunterfahren (Shutdown)
Gerade bei Dateiservern bietet sich dies an, um nur in der festgelegten bzw. tatsächlichen Nutzungszeit darauf zugreifen zu können. Außerhalb dieser Zeit ist es zweckmäßig, den PC herunter zu fahren, um damit auch Strom sparen zu können und vom Internet zu trennen.
In den folgenden Abschnitten werden die Schritte zur Einrichtung am Beispiel einer debian-basierten Linux-Distribution aufgezeigt.
Erstmal sind folgende Hilfsprogramme zu installieren:
sudo apt-get update && sudo apt-get dist-upgrade && sudo apt-get full-upgrade
reboot
sudo apt-get install net-tools ethtool wakeonlan
Dadurch werden die Befehle ifconfig zur Ermittlung der LAN-Schnittstelle, ethtool zur Einrichtung von Wake on LAN (WoL) und wakeonlan zum Aufwecken eines PC zur Verfügung gestellt.
Die Option Wake on LAN ist im BIOS zu aktivieren. Jedes BIOS ist vielfältig und damit unterschiedlich. Daher sollte man unter dem Begriff Wake on LAN oder WoL fündig werden.
In einigen Fällen lässt sich auch die Zeit einstellen, mit der das Aufwecken vom Rechner selbst erfolgt:
Im Beispiel startet der PC täglich um 06:00 Uhr (+ 1 Std.), ansonsten 07:00 Uhr (Sommerzeit) automatisch.
Die Einstellung Low Power Soft Off auf Disabled ist Voraussetzung dafür, das WakeOnLan eingestellt werden kann.
Für Geräte Lenovo T460s/T470s: Zusätzlich ist im BIOS auch die Startoption NVMe einzustellen, damit nach dem Aufwecken der Bootvorgang von der HDD erfolgt.
Eine Liste der vorhandenen Adapter lässt sich mit dem folgenden Befehl ermitteln:
ifconfig
Die Ausgabe könnte so aussehen:
xenp0s25: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500
inet netmask 255.255.255.0 broadcast
inet6 2003:eb:f16:d0eb:f3eb:5162:5b8b:26df prefixlen 64 scopeid 0x0<global>
inet6 2003:eb:f16:d0eb:d24b:7414:4d5e:a952 prefixlen 64 scopeid 0x0<global>
inet6 fe80::9d11:3d1a:d3ee:974c prefixlen 64 scopeid 0x20<link>
ether 00:19:99:99:c9:71 txqueuelen 1000 (Ethernet)
RX packets 4105 bytes 401426 (401.4 KB)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 780 bytes 155661 (155.6 KB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
device interrupt 23 memory 0xfc500000-fc520000
lo: flags=73<UP,LOOPBACK,RUNNING> mtu 65536
inet 127.0.0.1 netmask 255.0.0.0
inet6 ::1 prefixlen 128 scopeid 0x10<host>
loop txqueuelen 1000 (Lokale Schleife)
RX packets 185 bytes 16941 (16.9 KB)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 185 bytes 16941 (16.9 KB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
Im Beispiel ist die Schnittstellenbezeichnung enp0s25.
enp0s25 ist in den folgenden Befehlen bzw. im Script durch die mit ifconfig ermittelte eigene Schnittstellenbezeichnung zu ersetzen.
Mit
sudo ethtool enp0s25
bekommt man die aktuellen Einstellungen angezeigt.
Die Einstellung Wake on: g sollte vorhanden sein.
Die manuelle Aktivierung erfolgt mit:
sudo ethtool -s enp0s25 wol g
Es ist sinnvoll, WoL dauerhaft zu aktivieren. Dies erfolgt durch folgende Einzelschritte:
a) Erstellung der Datei /etc/systemd/system/wol.service mit einem Editor (root-Rechte), z.B
sudo gedit /etc/systemd/system/wol.service
mit folgendem Inhalt:
1. Alternative
xxxxxxxxxx
[Unit]
Description=Configure Wake-up on LAN
After=network-online.target
[Service]
Type=oneshot
ExecStart=/sbin/ethtool -s enp0s25 wol g
[Install]
WantedBy=basic.target
2. Alternative
xxxxxxxxxx
[Unit]
Description=Enable Wake On Lan
Requires=network.target
After=network.target
[Service]
Type=oneshot
ExecStart = /sbin/ethtool --change enp0s25 wol g
[Install]
WantedBy=multi-user.target
3. Alternative
Erstellung der Datei etc/systemd/network/50-wired.link (Editor-Root):
x[Match]
MACAddress=00:19:99:99:c9:71
[Link]
NamePolicy=kernel database onboard slot path
MACAddressPolicy=persistent
WakeOnLan=magic
Die MAC-Adresse kann mit ifconfig (ether) oder mit `lshw -C network (Seriennummer) ermittelt werden.
Ergänzende Hinweise siehe unter
http
http
b) Service einrichten
sudo systemctl enable wol.service
Innerhalb des eigenen Netzwerkes kann der Rechner von einem anderen Rechner aus gestartet werden. Dazu ermittelt man die MAC-Adresse mit
sudo lshw -C network
Damit erhält man beispielsweise folgende Ausgabe:
x*-network
Beschreibung: Ethernet interface
Produkt: 82567LF-3 Gigabit Network Connection
Hersteller: Intel Corporation
Physische ID: 19
Bus-Informationen: pci@0000:00:19.0
Logischer Name: enp0s25
Version: 02
Seriennummer: 00:19:99:99:c9:71
Größe: 1Gbit/s
Kapazität: 1Gbit/s
Breite: 32 bits
Takt: 33MHz
Fähigkeiten: pm msi bus_master cap_list ethernet physical tp 10bt 10bt-fd 100bt 100bt-fd 1000bt-fd autonegotiation
Konfiguration: autonegotiation=on broadcast=yes driver=e1000e driversversion=5.13.0-35-generic duplex=full firmware=0.4-3 ip=192.168.2.195 latency=0 link=yes multicast=yes port=twisted pair speed=1Gbit/s
Ressourcen: irq:26 memory:fc500000-fc51ffff memory:fc527000-fc527fff ioport:1820(Größe=32)
Die MAC-Adresse (= Seriennummer) lautet hier: 00:19:99:99:c9:71
Mit wakeonlan lässt sich der PC aufwecken. Dazu gibt man in einem Terminal eines anderen Rechners im eigenen Netzwerk folgendes ein (root-Rechte):
Syntax: wakeonlan MAC-Adresse
Im Beispiel also:
xwakeonlan 00:19:99:99:c9:71
Schritt 1
Den Speicherort des Programms shutdown ermittelt man mit der Ausführung von
xxxxxxxxxx
which shutdown
Schritt 2
Dann öffnet man im Terminal die Datei crontab:
1. Alternative
xxxxxxxxxx
sudo crontab -e
Die folgenden Zeiten in die Datei kopieren und die Datei speichern:
xxxxxxxxxx
30 22 * * 1-5 /usr/sbin/shutdown -h now
30 23 * * 0,6 /usr/sbin/shutdown -h now
Dies scheint nicht bei allen Linux-Distributionen erfolgreich zu sein.
2. Alternative
xxxxxxxxxx
sudo nano /etc/crontab
Die folgenden Zeiten in die Datei kopieren und die Datei speichern:
xxxxxxxxxx
30 22 * * 1-5 root /usr/sbin/shutdown -h now
30 23 * * 0,6 root /usr/sbin/shutdown -h now
Wirkung:
Mo-Fr Shutdown um 22:30 Uhr
Sa-So: Shutdown um 23:30 Uhr
Syntax:
xxxxxxxxxx
# .---------------- minute (0 - 59)
# | .------------- hour (0 - 23)
# | | .---------- day of month (1 - 31)
# | | | .------- month (1 - 12) OR jan,feb,mar,apr ...
# | | | | .---- day of week (0 - 6) (Sunday=0 or 7) OR sun,mon,tue,wed,thu,fri,sat
# | | | | |
# * * * * * user-name command to be executed
0 0 * * 0 root /sbin/shutdown -h now # power off every sunday at 00:00 am
Nach der durchgeführten Änderung ist crontab zu starten:
sudo service cron start
oder neu zu laden
systemctl restart cron
Will man den Cronjob stoppen, dann erfolgt dies mit:
sudo service cron stop
Die Festlegung sollte in Abstimmung mit allen Nutzern des PC, hier im Beispiel ein Dateiserver, erfolgen.
Wenn alle Einstellungen den eigenen Systembedingungen ensprechen,
fährt der Rechner
1. hoch (Boot)
- nach der im BIOS eingestellten Uhrzeit
- durch eigenes Aufwecken von einem anderen Rechner im eigenen Netz aus
oder
2. herunter nach den eingestellten Zeitvorgaben (Shutdown).
Damit wird 1. die Bedienung des eingerichteten PC deutlich einfacher, und 2. das Nutzungsverhalten wird nachhaltiger und sicherer, weil der Rechner bei Nichtgebrauch vom Internet getrennt ist und weniger Strom verbraucht.
Hinweis:
Auch wenn der Rechner herunter gefahren ist, hat das Netzteil noch Kontakt zum Stromnetz, sodass ein gewisser Verbrauch stattfindet.
Die hier vorgestellten Hinweise lassen sich nicht konkreten geistigen Eigentümern zuordnen. Deshalb wird hier dankend auf die Bereitstellung von Informationen in der Community hingewiesen.
Wolfgang Kirk
Veröffentlicht: 2022-03-21 aktualisiert: 2024-08-22, 08:00 Uhr