desligue o servidor linux e ative automaticamente em horário específico

8

Estou tendo uma tarefa em que o palestrante está me pedindo para criar um script bash para desligar um servidor às 23h e ligá-lo às 6h. Eu posso fazer isso usando sudo shutdown -h 23:00 e funciona. Mas o problema é que eu não tenho idéia de como ativá-lo automaticamente às 6h, não consegui encontrar nenhum comando que pudesse fazer isso. Qualquer ajuda seria apreciada.

    
por JLWK 24.03.2014 / 15:51

1 resposta

9

Primeiro, você precisa verificar se é possível usar o RAC wakealarm para ativar seu 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

Agora verifique:

cat /proc/driver/rtc

Isso deve retornar uma lista de parâmetros. Verifique o alrm_time é de 3 minutos no futuro e o alrm_date é hoje.

Se funcionar, crie um script /usr/local/sbin/shutwake :

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

Por fim, edite o seu crontab , digite crontab -e e adicione a seguinte linha :

0 23 * * * /usr/local/sbin/shutwake
    
por Sylvain Pineau 24.03.2014 / 16:49