Como posso agendar uma reinicialização noturna?

50

Estou tendo alguns problemas periódicos executando um aplicativo específico, o XBMC. Se eu uso o XBMC regularmente, parece que não tenho problemas, mas se eu deixá-lo desacompanhado por mais de 12 horas, preciso reiniciar para que ele funcione novamente.

Eu sei que uma reinicialização programada é NÃO a resposta , mas até que eu possa descobrir o problema, preciso agendar uma reinicialização toda manhã para que minha esposa possa usá-la se eu estiver ausente e não t é jogado para fora da janela:)

Algum comprador?

    
por Braiam 17.11.2010 / 22:04

4 respostas

92

Eu usaria o cron (já deveria estar instalado):

Editar crontab:

sudo crontab -e

A primeira vez que você pode ter que escolher o seu editor preferido (como o nano)

Inserir uma linha como

0 4   *   *   *    /sbin/shutdown -r +5

na parte inferior. Explicação:

m      h    dom        mon   dow       command
minute hour dayOfMonth Month dayOfWeek commandToRun

então a linha

  0 4   *   *   *    /sbin/shutdown -r +5

reiniciaria seu sistema todos os dias às 4h05. (4:00 am + 5 minutos)

Ctrl + X , Y , Enter deve tirar você do crontab (se estiver usando nano)

Nota: você pode ter que executar crontab -e como root, porque o desligamento precisa de raiz.

    
por sBlatt 17.11.2010 / 22:21
9

Adicionar isso a /etc/cron.daily/zz-reboot deve funcionar:

#!/bin/sh
shutdown -r now

e sudo chmod a+x /etc/cron.daily/zz-reboot . O prefixo "zz" forçará a execução por último de todos os outros scripts nesse diretório. Verifique /etc/crontab para ver a hora do dia que realmente acontecerá:

grep daily /etc/crontab | awk '{print  ":" }'

Se isso não funcionar, então uma entrada cron "regular" também pode funcionar, via sudo crontab -e

MINUTE HOUR * * * shutdown -r now

E, finalmente, se você quiser fazer apenas reinicializações únicas, use at :

echo "shutdown -r now" | sudo at 04:30
    
por Kees Cook 17.11.2010 / 22:15
1

Eu tenho trabalhado com cronjobs por cerca de um mês no meu trabalho e agendamento de desligamento e reinicialização. É muito simples. Eu sei que isso foi perguntado sobre 5 anos atrás, mas se alguém ainda tiver problemas, você pode usar esse método e você será definido.

abra o terminal (ctrl + T)

sudo nano /etc/crontab

role até o final e digite o comando abaixo

00 6 * * * root reboot 

isto está definido para reiniciar às 6h todos os dias, e pressione enter

Se você quiser agendar o poweroff às 23h todos os dias, você pode entrar

00 23 * * * root poweroff

Eu ainda preciso descobrir como usar uma máquina usando o cronjob quando ela está inativa. Vou editar esta resposta assim que eu descobrir.

P.S. esta é minha primeira postagem de respostas em todos os formulários; Espero que ajude alguém !! : D

    
por techfashionista 01.08.2015 / 18:00
0

Você deve criar um script usando as instruções dadas por Kees Cook ...

Você pode simplesmente copiar e colar as informações abaixo em qualquer editor de texto e criar o arquivo zz-reboot no diretório sugerido.

Depois disso, lembre-se de clicar com o botão direito do mouse no arquivo e atribuir-lhe permissão de execução. Se você sentir vontade de usar o terminal apenas:

sudo chmod +x /etc/cron.daily/zz-reboot

Para entender melhor o que você está fazendo, lembre-se que na pasta /etc você geralmente encontra arquivos de configuração e lá você pode encontrar cron.hourly , cron.daily e outras pastas cron. O Cron cuida da execução de aplicativos e scripts em um determinado momento.

Se você quiser ser rigoroso sobre o tempo de reinicialização, apenas um dígito

sudo crontab -e

para que você possa editar o crontab para o usuário root.

Se você se sentir melhor fazendo isso graficamente, poderá instalar a partir do gnome-schedule do Software Center. Se você quiser modificar o gnome-schedule para o usuário root, certifique-se de executá-lo no terminal:

gksudo gnome-schedule

Divirta-se brincando! :)

p .: ótimo ponto sBlatt! Eu queria saber se existe alguma maneira de forçar cron.daily tempo de execução manualmente.

    
por Pitto 17.11.2010 / 22:25

Tags