Agendar reinicialização no horário especificado


Respostas:


15

Faça uma tarefa agendada que seja executada:

shutdown -r -t 01

A tarefa agendada pode se excluir quando a tarefa estiver concluída?
Toro

Não é possível excluir a si mesmo, mas você pode configurar um gatilho de uma só vez, para que seja executado apenas uma vez.
Mark S. Rasmussen

2
Se a tarefa estiver agendada para ser executada uma vez, há uma caixa de seleção "excluir esta tarefa se não estiver agendada para ser executada novamente" na guia Configurações da janela de propriedades da tarefa agendada. O agendador removerá a tarefa após a execução, se não for agendada novamente. Não tenho certeza de como isso funcionará no caso de uma reinicialização do servidor, embora seja teoricamente possível.
Justin Scott

Ou, se for um caso único, use o / t xxx para definir o desligamento para o horário futuro desejado. O valor do atraso pode ser de até 10 anos. (Mas uma vez que é expresso em segundos, tendo um tempo muito longo chamadas de atraso para um pouco de cálculo.)
Jesper M

18

A maneira mais fácil de agendar uma reinicialização simples é usar o comando AT junto com o comando shutdown na linha de comando.

Por exemplo, se você deseja que o servidor seja reiniciado hoje à noite às 02:00, pode ser tão simples quanto isto:

às 2:00 desligamento / r / f

O que o comando "AT" faz é criar automaticamente uma tarefa agendada para um determinado comando. Ele tem vários parâmetros que você pode especificar para repeti-lo, mas, por padrão, ele executa o comando que você especificar na próxima instância, a qualquer momento que você especificar.

Se você precisar alterar alguma coisa após a emissão, basta acessar Ferramentas administrativas> Tarefas agendadas e modificar a tarefa.


11
Aparentemente, isso foi preterido no Server 2012
Matias Nino

3

Sei que isso não resolve todo o seu problema, mas para versões do Windows Server desde 2008 e, nos casos em que você só precisa reiniciar o servidor uma vez, não precisa se preocupar com as tarefas agendadas. O shutdowncomando interno permite especificar um atraso em segundos usando o -tparâmetro

Por exemplo, para reiniciar em 12 horas (ou 43200 segundos):

shutdown -r -t 43200

Obviamente, para obter um horário específico, você precisará de algumas contas simples, mas é muito mais fácil do que mexer nas tarefas agendadas.


11
É possível (sem o log de script ou semelhante) obter o estado de um comando assim depois que ele foi emitido? Que o tempo restante até a reinicialização é de 3 horas, por exemplo?
ErikE

11
@ ErikE, A única maneira de saber se é emitir um shutdown -acomando que interrompe o desligamento atual. Se nenhum desligamento foi agendado, você receberá um erro. Eu não acho que diga quando foi agendado, e se você realmente quisesse desligar, precisará recriá-lo ... então não é o ideal.
Molomby 5/08/2015

Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.