Heim  >  Artikel  >  System-Tutorial  >  So fahren Sie ein Linux-System automatisch herunter und starten es

So fahren Sie ein Linux-System automatisch herunter und starten es

WBOY
WBOYnach vorne
2024-03-01 08:00:24755Durchsuche

Sei kein Energieverschwender. Wenn Ihre Computer nicht eingeschaltet sein müssen, schalten Sie sie aus. Der Einfachheit halber und für Computerfreaks können Sie Ihren Linux-Computer so konfigurieren, dass er automatisch aktiviert und heruntergefahren wird.

Kostbare Systemverfügbarkeit

Manchmal müssen einige Computer ständig eingeschaltet sein, solange die Computerlaufzeit nicht überschritten wird. Manche Leute sind stolz darauf, dass ihre Computer über längere Zeiträume betriebsbereit bleiben, und jetzt haben wir Kernel-Hotfixes, die nur dann ein Herunterfahren des Computers erfordern, wenn ein Hardwarefehler auftritt. Was ich für praktischer halte, ist, Strom zu sparen, den Verschleiß beweglicher Teile zu reduzieren und die Maschine abzuschalten, wenn sie nicht benötigt wird. Sie können beispielsweise den Backup-Server zu einem bestimmten Zeitpunkt aktivieren, die Sicherung durchführen und ihn dann herunterfahren, bis er für die nächste Sicherung bereit ist. Alternativ können Sie Ihr Internet-Gateway so einrichten, dass es nur zu bestimmten Zeiten läuft. Alles, was nicht ständig laufen muss, kann so konfiguriert werden, dass es sich einschaltet, wenn es arbeiten muss, und ausschaltet, wenn es seine Arbeit erledigt hat.

Systemschlaf

Für Computer, die nicht ständig laufen müssen, verwenden Sie die geplante Cron-Aufgabe von Root (z. B. /etc/crontab), um den Computer zuverlässig herunterzufahren. In diesem Beispiel wird eine geplante Root-Aufgabe erstellt, um das geplante Herunterfahren jeden Abend um 11:15 Uhr zu implementieren.

# crontab -e -u root
# m h  dom mon dow   command
15 23 * * * /sbin/shutdown -h now

Das folgende Beispiel läuft nur Montag bis Freitag:

15 23 * * 1-5 /sbin/shutdown -h now

Sie können mehrere Cron-Jobs für unterschiedliche Daten und Uhrzeiten erstellen. Alle Zeit- und Datumsfelder können über den Befehl man 5 crontab verstanden werden.

Eine schnelle und einfache Möglichkeit ist die Verwendung der Datei /etc/crontab. Auf diese Weise müssen Sie jedoch den Benutzer angeben:

15 23 * * 1-5 root shutdown -h now
Automatisches Aufwachen

Das automatische Wecken ist eine coole Sache; die meisten meiner SUSE-Kollegen (SUSE Linux) sind in Nürnberg, daher muss ich um 5 Uhr morgens aufstehen, um ein paar Stunden Zeit mit meinen Kollegen zu haben. Mein Computer beginnt automatisch um 5:30 Uhr zu arbeiten und ich schleppe mich und meinen Kaffee einfach an meinen Schreibtisch und fange an. Das Drücken des Netzschalters scheint keine große Sache zu sein, aber zu dieser Tageszeit wird jede Kleinigkeit zu einer großen Sache.

Das Aufwecken eines Linux-Computers ist möglicherweise nicht so zuverlässig wie das Herunterfahren. Daher sollten Sie einen anderen Ansatz ausprobieren. Sie können die Remote-Aktivierung (Wake-On-LAN), die RTC-Aktivierung oder eine vom BIOS des PCs festgelegte geplante Aktivierungsmethode verwenden. Der Grund dafür, dass diese Methoden funktionieren, besteht darin, dass Sie Ihren Computer nicht wirklich ausschalten, sondern dass er sich in einem Zustand mit sehr geringem Stromverbrauch befindet und weiterhin Signale empfangen und darauf reagieren kann. Es schaltet sich erst vollständig aus, wenn Sie den Netzschalter ausstecken.

BIOS-Weckfunktion

BIOS-Wakeup ist am zuverlässigsten. Das Motherboard-BIOS meines Systems verfügt über einen benutzerfreundlichen Wake-Scheduler (Abbildung 1). Für Sie ist es genauso einfach.

linux 系统如何自动关机和开机

Abbildung 1: Mein System-BIOS verfügt über einen benutzerfreundlichen Wecktimer.

Host-Fernweckung (Wake-On-LAN)

远程唤醒是仅次于 BIOS 唤醒的又一种可靠的唤醒方法。这需要你从第二台计算机发送信号到所要打开的计算机。可以使用 Arduino 或树莓派Raspberry Pi发送给基于 Linux 的路由器或者任何 Linux 计算机的唤醒信号。首先,查看系统主板 BIOS 是否支持 Wake-On-LAN ,要是支持的话,必须先启动它,因为它被默认为禁用。

然后,需要一个支持 Wake-On-LAN 的网卡;无线网卡并不支持。你需要运行 ethtool 命令查看网卡是否支持 Wake-On-LAN :

# ethtool eth0 | grep -i wake-on
        Supports Wake-on: pumbg
        Wake-on: g

这条命令输出的 “Supports Wake-on” 字段会告诉你你的网卡现在开启了哪些功能:

  • d -- 禁用
  • p -- 物理活动唤醒
  • u -- 单播消息唤醒
  • m -- 多播(组播)消息唤醒
  • b -- 广播消息唤醒
  • a -- ARP 唤醒
  • g -- 特定数据包magic packet唤醒
  • s -- 设有密码的特定数据包magic packet唤醒

ethtool 命令的 man 手册并没说清楚 p 选项的作用;这表明任何信号都会导致唤醒。然而,在我的测试中它并没有这么做。想要实现远程唤醒主机,必须支持的功能是 g —— 特定数据包magic packet唤醒,而且下面的“Wake-on” 行显示这个功能已经在启用了。如果它没有被启用,你可以通过 ethtool 命令来启用它。

# ethtool -s eth0 wol g

这条命令可能会在重启后失效,所以为了确保万无一失,你可以创建个 root 用户的定时任务(cron)在每次重启的时候来执行这条命令。

@reboot /usr/bin/ethtool -s eth0 wol g

另一个选择是最近的网络管理器Network Manager版本有一个很好的小复选框来启用 Wake-On-LAN(图 2)。

linux 系统如何自动关机和开机

图 2:启用 Wake on LAN

这里有一个可以用于设置密码的地方,但是如果你的网络接口不支持安全开机Secure On密码,它就不起作用。

现在你需要配置第二台计算机来发送唤醒信号。你并不需要 root 权限,所以你可以为你的普通用户创建 cron 任务。你需要用到的是想要唤醒的机器的网络接口和MAC地址信息。

30 08 * * * /usr/bin/wakeonlan D0:50:99:82:E7:2B 
RTC 唤醒

通过使用实时闹钟来唤醒计算机是最不可靠的方法。对于这个方法,可以参看 Wake Up Linux With an RTC Alarm Clock[1] ;对于现在的大多数发行版来说这种方法已经有点过时了。

下周继续了解更多关于使用 RTC 唤醒的方法。

通过 Linux 基金会和 edX 可以学习更多关于 Linux 的免费 Linux 入门[2]教程。

(题图:The Observatory at Delhi[3]


Das obige ist der detaillierte Inhalt vonSo fahren Sie ein Linux-System automatisch herunter und starten es. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Dieser Artikel ist reproduziert unter:linuxprobe.com. Bei Verstößen wenden Sie sich bitte an admin@php.cn löschen