Können Sie ein Linux-System anhalten und meinen Raspberry-pi zu bestimmten Zeiten booten lassen?

7

So schalten Sie ein System zu unterschiedlichen Zeiten aus und wieder ein. Zum Beispiel würde ich meinen "Server" um 4 Uhr morgens ausschalten und dann jeden Tag um 5 Uhr morgens wieder einschalten. Ist das möglich? Ich benutze einen Raspberry-Pi mit der neuesten Version von Raspbian.

Matt
quelle
3
Gibt es einen bestimmten Grund, warum Sie das tun möchten? Vielleicht gibt es einen anderen Weg, um Ihr endgültiges Ziel zu erreichen. Dies kann eine XY-Frage sein .
Nate Eldredge

Antworten:

9

Sie sollten dies mit einem Netz-Timer zwischen der Netzsteckdose und dem Netzteil tun können.

Schalten Sie die Himbeere um 4 Uhr morgens mit einem Cron-Job aus und stellen Sie den Timer so ein, dass das Netz etwas später unterbrochen und die Stromversorgung um 5 Uhr morgens wiederhergestellt wird

Terje D.
quelle
1
Ich denke, das würde gut funktionieren. Solche Timer sind billig und einfach zu bedienen.
Goldlöckchen
Vergessen Sie nicht, dies während der Zeitumstellung der Sommerzeit im Auge zu behalten! Sie werden entweder vor dem Laufen den Strom haltabschalten oder ihn nur eine Stunde lang einschalten und dann für den Rest des Tages ausschalten.
IQAndreas
@IQAndreas: Sie werden nur dann frühzeitig Strom abschalten, wenn der Timer auf Sommerzeit eingestellt ist, während der Pi keine Sommerzeit verwendet. Wenn der Pi die Sommerzeit verwendet, der Timer jedoch nicht, bleibt der Pi nur eine Stunde lang im "angehaltenen" Zustand (er wird um 4 Uhr morgens heruntergefahren; der Timer unterbricht die Stromversorgung kurz nach 5 Uhr morgens und bringen Sie es um 6 Uhr morgens wieder auf).
Michael Madsen
12

Sie können Ihr System anhalten oder in den Ruhezustand versetzen und es dann automatisch mit einem rtcwakeBefehl aktivieren. Zum Beispiel, um in 60 Sekunden anzuhalten (zu rammen) und fortzufahren

rtcwake -s 60 -m mem

So machen Sie in einer Stunde den Ruhezustand (auf der Festplatte anhalten) und fahren in zwei Stunden fort:

sleep 3600; rtcwake -s 3600 -m disk

Sie können das System auch zu einem bestimmten Zeitpunkt mit einer -tOption aktivieren, die seit 1970 Sekunden als Argument benötigt. Führen Sie man rtcwakefür weitere Informationen.

jimmij
quelle
3
Gute Antwort (+1), aber dies funktioniert nicht auf dem Himbeer-Pi, da es keinen RTC-Chip hat (es benötigt einen ntpService, um die richtige Zeit beim Booten zu erhalten).
Goldlöckchen
1
In der Tat habe ich keine Erfahrung mit Himbeer-Pi. Wenn diese Antwort nicht massiv abgelehnt wird, lasse ich sie als mögliche Lösung für andere Plattformen.
Jimmy
2
Ich denke, dies ist eine gute Antwort für den Fall, dass jemand nach einem Nicht-Himbeer-Pi-System sucht.
Matt
8

Sie können deaktivieren bekommen, wann immer Sie möchten mit haltoder shutdown nowoder was auch immer Sie bevorzugen; Planen Sie dies mit cronoder einem benutzerdefinierten Hintergrundprozess.

Zusätzlich zum Echtzeit-Wakeup, das von normaler PC-Hardware implementiert wird (was der Pi nicht ist) und über das verwendet werden kann rtcwake, gibt es Wake-on-LAN .

Leider funktioniert keines davon auf dem Himbeer-Pi , da Sie nicht:

  • Im RAM anhalten.
  • Schalten Sie die Stromversorgung aus oder setzen Sie sie zurück, außer durch Ziehen des Steckers.
  • Unterbrechen Sie den Speicher, außer (möglicherweise) durch einige Änderungen an der Betriebssystemkonfiguration (wie es ist, verwendet Raspbian eine komprimierte Ramdisk für den Austausch) - und selbst dann bietet Ihnen der Bootloader keine Möglichkeit, diese zu umgehen.

Die pi-Hardware verfügt über keine "Energieverwaltungs" -Funktionen nach dem Neustart. Wenn es angeschlossen ist, ist es eingeschaltet und bleibt eingeschaltet, nachdem das System angehalten hat.

Goldlöckchen
quelle
3

Das Herunterfahren ist einfach. Verwenden Sie den poweroffBefehl - legen Sie ihn in eine Crontab, wenn Sie möchten. Das Starten ist jedoch schwieriger, da das Betriebssystem beim Stoppen des Computers nicht ausgeführt wird. Sie können also nicht einfach einen Cron-Job hinzufügen und damit rechnen, dass er ausgeführt wird. Auf einigen PCs rtcwakefunktioniert der Befehl zwar, auf einigen jedoch nicht, und Sie müssen möglicherweise an den BIOS-Einstellungen basteln.

Für die Himbeere, wie @goldilocks antwortete, können Sie das nicht verwenden - die einzige Lösung ist eine Hardware-Lösung mit einem Mikrocontroller, einer RTC und einem Relais oder MOSFET, über die die Stromleitung der Himbeere verläuft. Der Mikrocontroller sollte an die GPIO-Ports des Pi angeschlossen sein, und Sie sollten sich ein rtcwakeÄquivalent machen, das mit diesem Mikrocontroller kommuniziert und ihm die aktuelle Zeit und die Aufweck- / Abschaltzeit angibt.

Gemeinschaft
quelle
3

Wenn Sie mit dem Hinzufügen eines separaten Boards leben können, bietet Ihnen das WittyPi die Möglichkeit, den Raspberry Pi zu festgelegten Zeiten zu starten und zu stoppen. Ich fand es 1,7 bis 2,4 mA bei 5 VDC im Schlafmodus mit angeschlossener Stromversorgung. Die interne Batterie hält die RTC, wenn die Stromversorgung unterbrochen wird. http://www.uugear.com/witty-pi-realtime-clock-power-management-for-raspberry-pi/

Sind
quelle
1

Um ein Herunterfahren des Servers zu planen, können Sie dies /sbin/shutdown -h nowin Ihrer cronTabelle planen . Zum Starten können Sie in einigen System-BIOS das System zu einer bestimmten Tageszeit automatisch starten. Wenn Ihr BIOS dies nicht unterstützt, können Sie prüfen, ob ein anderer Host im selben Netzwerk ein Wake-On-Lan-Paket sendet. Dies erfordert jedoch auch BIOS-Unterstützung und einen anderen laufenden Host im Netzwerk.

DopeGhoti
quelle