chiudere il server Linux e accenderlo automaticamente a un orario specifico


8

Sto avendo un incarico in cui il docente mi sta chiedendo di creare uno script bash per spegnere un server alle 23:00 e accenderlo alle 6:00. Sono in grado di farlo utilizzando sudo shutdown -h 23:00e funziona. Ma il problema è che non ho idea di come accenderlo automaticamente alle 6 del mattino, non sono riuscito a trovare alcun comando che potesse farlo. Qualsiasi aiuto sarebbe apprezzato.


Sei sicuro che il tuo compito ti chieda di spegnere l'intera macchina (e riaccenderla) o solo un processo del server? Ovviamente, la macchina fisica deve essere accesa per fare qualsiasi cosa.
Jos

Ad essere sincero, non ne ho idea, pensavo anche che sarebbe stato impossibile. Il docente è molto vago sul mandato e mi sta facendo impazzire.
JLWK,

Risposte:


10

Innanzitutto è necessario verificare se è possibile utilizzare il sistema di sveglia RTC per riattivare il sistema:

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

Ora controlla:

cat /proc/driver/rtc

Questo dovrebbe restituire un elenco di parametri. Controlla i alrm_time3 minuti nel futuro e alrm_dateè oggi.

Se funziona bene, crea uno /usr/local/sbin/shutwakescript:

#!/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

Infine modifica il tuo crontab utente , digita crontab -ee aggiungi la seguente riga:

0 23 * * * /usr/local/sbin/shutwake

Dipendo dalle impostazioni dell'orologio BIOS, controlla /etc/default/rcSse UTC è impostato o meno.
Sylvain Pineau,

Bene, ho provato esattamente lo stesso di quello che hai scritto sopra. Non ha funzionato :(. -Debian 8
Bálint Pap
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.