Fahren Sie den Linux-Server herunter und schalten Sie ihn zu einem bestimmten Zeitpunkt automatisch ein

8

Ich habe eine Aufgabe, bei der der Dozent mich auffordert, ein Bash-Skript zu erstellen, um einen Server um 23 Uhr herunterzufahren und um 6 Uhr morgens einzuschalten. Ich kann es mit sudo shutdown -h 23:00und es funktioniert. Aber das Problem ist, dass ich keine Ahnung habe, wie ich es um 6 Uhr morgens automatisch einschalten soll. Ich konnte keine Befehle finden, die das könnten. Jede Hilfe wäre dankbar.

JLWK
quelle
Sind Sie sicher, dass Sie bei Ihrer Aufgabe aufgefordert werden, den gesamten Computer auszuschalten (und wieder einzuschalten) oder nur einen Serverprozess? Offensichtlich muss die physische Maschine eingeschaltet sein, um etwas zu tun.
Jos
Um ehrlich zu sein, ich habe auch keine Ahnung, ich dachte auch, das wäre unmöglich. Der Dozent ist sehr vage in Bezug auf die Aufgabenstellung und macht mich auch verrückt.
JLWK

Antworten:

10

Zuerst müssen Sie überprüfen, ob Sie den RTC-Wakealarm verwenden können, um Ihr System zu aktivieren :

sudo sh -c "echo 0 > /sys/class/rtc/rtc0/wakealarm"
sudo sh -c "echo `date '+%s' -d '+ 3 minutes'` > /sys/class/rtc/rtc0/wakealarm"
cat /sys/class/rtc/rtc0/wakealarm

Überprüfe jetzt:

cat /proc/driver/rtc

Dies sollte eine Liste von Parametern zurückgeben. Überprüfen Sie, ob alrm_timees 3 Minuten in der Zukunft ist und ob alrm_datees heute ist.

Wenn es in Ordnung funktioniert, erstellen Sie ein /usr/local/sbin/shutwakeSkript:

#!/bin/bash 
sh -c "echo 0 > /sys/class/rtc/rtc0/wakealarm" 
sh -c "echo `date '+%s' -d '+ 7 hours'` > /sys/class/rtc/rtc0/wakealarm" 
shutdown -h now

Bearbeiten Sie abschließend Ihre Benutzer- Crontab , crontab -egeben Sie die folgende Zeile ein und fügen Sie sie hinzu:

0 23 * * * /usr/local/sbin/shutwake
Sylvain Pineau
quelle
Ich bin abhängig von den Einstellungen der BIOS-Uhr. Überprüfen Sie /etc/default/rcS, ob UTC eingestellt ist oder nicht.
Sylvain Pineau
Nun, ich habe genau das versucht, was Sie oben geschrieben haben. Es hat nicht funktioniert :(. -Debian 8
Bálint Pap