Desligamento automático em horários especificados?

9

Estou ciente que posso usar (sudo?) shutdown -h hh:mm em uma janela de terminal para desligar um sistema, no entanto o usuário que está logado é um usuário de quiosque, que é bloqueado de tal forma que o terminal ( ou qualquer outra janela que não seja o firefox) não pode ser aberta.

Minha pergunta é:
Existe uma maneira de fazer isso sem ter uma janela de terminal aberta? Eu li sobre cron, mas não consigo resolver isso.
Como posso alterar o tempo de desligamento dependendo de que dia é?

    
por MrAxlee 02.01.2015 / 09:49

3 respostas

15

Cron funcionará muito bem para isso.

Adicione a linha abaixo (com ajustes) ao final de /etc/crontab :

30 23 * * * root shutdown -h now

Às 23:30 (11:30 PM), o quiosque será desligado. Não importa qual usuário está logado, o comando shutdown é executado como root.

(Se você não quiser usar o crontab global, faça o login como root e use crontab -e . Use a mesma sintaxe acima sem o root ).

Formato Cron:

MM HH DD OO WW command

MM : minuto, 0 a 59% HH : 24 horas por hora
DD : dia do mês
OO : mês e WW : dia de Semana (domingo é 0, segunda é 1)
command : auto-explicativo

    
por Kaz Wolfe 02.01.2015 / 10:25
3

Um cronjob parece ser a melhor maneira, porque você pode especificar horários diferentes para dias diferentes. Em sistemas baseados no Gnome, você pode simplesmente instalar o GNOME Shedule Tarefas usando

sudo apt-get install gnome-schedule

e, em seguida, configure o cronjob usando a GUI.

caso contrário, você teria que usar sudo crontab -e e depois adicionar as seguintes linhas

30 11 * * 1-5 /sbin/shutdown -h now
30 10 * * 0,6 /sbin/shutdown -h now

isso desligaria o PC às 11:30 de segunda a sexta e às 10:30 aos sábados e domingos. A estrutura é muito simples:

minute (0-59), hour (0-23, 0 = midnight), day (1-31), month (1-12), weekday (0-6, 0 = Sunday), command 

Para obter mais informações sobre isso, você também pode verificar o CronHowto

    
por Christian Rauchenwald 02.01.2015 / 10:27
2

Podemos desligar automaticamente no horário especificado, simplesmente executando o comando sudo poweroff in crontab .

Se você deseja desligar o sistema às 18h30 todos os dias. Digite o terminal:

sudo crontab -e

editar

30 18 * * * sudo poweroff
    
por d a i s y 18.11.2015 / 08:47