Qual é a versão do cron do Windows? [fechadas]

278

Uma pesquisa no Google descobriu um software que executa as mesmas funções que o cron, mas nada embutido no Windows.

Estou executando o Windows XP Professional, mas os conselhos para qualquer versão do Windows seriam potencialmente úteis para alguém.

Existe também uma maneira de chamar esse recurso (que com base nas respostas é chamado de Agendador de Tarefas) programaticamente ou através da linha de comando?

Thomas Owens
fonte
5
Que recurso cronvocê precisa que o Agendador de Tarefas não fornece?
Chris Jester-Young
2
Cron e-mails stdout e stderr para o usuário - como fazemos isso no Agendador de tarefas?
user3450049
@ user3450049: Você sempre pode adicionar uma tarefa na seção de ações para enviar logs por email. Você pode usar a partir de um Telnet ou Sendmail conforme sua conveniência. Veja stackoverflow.com/questions/18652001/send-mail-via-cmd-console
0zkr PM

Respostas:

294

Para a pergunta original, perguntando sobre o Windows XP (e Windows 7): Windows Task Scheduler

Para uso da linha de comando, você pode agendar com o comando AT .

Para versões mais recentes do sistema operacional Microsoft, Windows Server 2012 / Windows 8, consulte o utilitário de linha de comando schtasks .
Se você estiver usando o PowerShell, os Cmdlets de Tarefas Agendadas no Windows PowerShell são criados para scripts.

Kris Kumler
fonte
12
No Windows 10 at.exeestá obsoleto e não será executado. schtasks.exeé difícil de usar (por exemplo, não será executado sem privilégios de administrador) e com erros (por exemplo, a /Zopção).
Vlastimil Ovčáčík
e o windows 7?
Tarik
@ Tarik O Windows 7 também suporta o Agendador de Tarefas.
Kris Kumler
Meu windows 7 cmd tem AT e schtasks. Existe uma diferença / preferência? Por que ter os dois?
Jggunjer
7
O Agendador de tarefas é como um lixeira de um pedaço de software. Toda vez que eu abri-lo há uma chance de 50/50 que vai largar o framerate para todo o computador até 3 fps ao tentar carregar uma exibição de tabela de como 6 itens
Matt M.
10

O comando 'at'.

"O comando AT agenda comandos e programas para execução em um computador em uma data e hora especificadas. O serviço de agendamento deve estar em execução para usar o comando AT".

leppie
fonte
depreciado, use schtasks.exe.
keramat 15/04
10

Use o Agendador de tarefas do Windows para agendar tarefas ao longo do tempo e datas.

Dror Helper
fonte
10

pycron é parecido no Windows. As seguintes entradas são suportadas:

1    Minute (0-59)
2    Hour (2-24)
3    Day of month (1-31)
4    Month (1-12, Jan, Feb, etc)
5    Day of week (0-6) 0 = Sunday, 1 = Monday etc or Sun, Mon, etc)
6    User that the command will run as
7    Command to execute
user816347
fonte
1
Esta não é uma ferramenta de linha de comando. Como eu vejo, ele apenas verifica se a hora atual corresponde às suas configurações.
Mithril
Este é apenas um analisador, não executa as tarefas.
Kubuntuer82 01/07/19
8

Existe também uma maneira de chamar esse recurso (que com base nas respostas é chamado de Agendador de Tarefas) programaticamente [...]?

API do agendador de tarefas no MSDN.

Adam Mitz
fonte
7

O equivalente mais próximo são as Tarefas agendadas do Windows (Painel de controle -> Tarefas agendadas), embora estejam muito longe do cron.

A maior diferença (para mim) é que eles exigem que um usuário esteja conectado à caixa do Windows e uma conta de usuário (com senha e tudo), o que torna um pesadelo se sua política de segurança local exigir alterações de senha periodicamente. Eu também acho que é menos flexível que o cron, na medida em que define intervalos para os itens executarem.

ckramer
fonte
2
Embora o cron seja definitivamente superior às tarefas do Windows, você pode realmente usar a conta 'SYSTEM' dos computadores, que não requer uma senha e tem permissões totais para o computador local. Embora isso obviamente tenha problemas se você utilizar recursos externos (como uma unidade compartilhada que exija creds de domínio).
9788 Steve Bauman #
@SteveBauman A chave é RECURSOS LOCAIS, o Windows pode ter o melhor agendador de tarefas de todos os tempos, mas se essa tarefa puder funcionar apenas com recursos locais, será 100% inútil se você precisar fazer algo tão simples quanto copiar um backup para o PC local em uma programação .
krowe2
7

O Zcron está disponível gratuitamente para uso pessoal.

Zsolt Botykai
fonte
Z-Cron exatamente.
fx-kirin
6

Se você preferir um bom e velho cron, o CRONw é o caminho a seguir.

Supported systems

* Windows 2000 (any version)    works
* Windows XP (SP 2)             works
* Windows Server 2003           works
* Windows NT 4 (SP 6)           should work but not tested
* Windows 3.11, Windows 95,
  Windows 98, Windows ME,
  Windows XP beneath SP2        not supported by design
enobrev
fonte
1
Eu tentei este e, quando finalmente o instalei e tentei testá-lo, tudo o que recebi foi esta mensagem: We were asked to go - so I'm out finally...Qualquer comando que eu tentasse me enviava essa mensagem. WTF? Este projeto não está mais ativo ou qual é o significado dessa mensagem? OBRIGADO
Metafaniel
1
@Metafaniel, eu não tenho um sistema Windows há cerca de 4 ou 5 anos, então eu realmente não acompanhei. Pesquisar essa resposta no Google apenas me leva a esta página e não vejo nada no site deles sobre o desligamento. Olhando para o repositório do sourceforge , parece que ele não mudou em cerca de uma década, então estou me perguntando se talvez haja algum tipo de conflito no seu sistema local. Considerando que já faz tanto tempo desde a última atualização, eu definitivamente diria que não está mais ativo, embora essa seja uma resposta realmente estranha.
enobrev 10/03/2015
1
@Metafaniel Eu também baixei e recebi a base de código dessa mensagem e não encontrei nada. Boa sorte para descobrir o que está acontecendo!
22415 enobrev
1
@ Metafaniel Conforme mencionado na publicação, para Windows além do XP SP2, ele não é suportado.
precisa saber é o seguinte
5

Existe o NNCron para Windows. A TI pode agendar trabalhos para serem executados periodicamente.

shasi kanth
fonte
2

Além do Windows Task Scheduler, você também tem 'at' no Windows. Não tenho certeza de como ele difere do Agendador de tarefas, além do fato de ter uma interface de linha de comando.

jm4
fonte
1

O comando At agora está obsoleto

você pode usar o SCHTASKS

Saher Ahwal
fonte
1
  1. Você pode usar a API de tarefas agendadas no PowerShell junto com um arquivo config.json para entrada de parâmetros. Eu acho que a limitação mínima é de 5 minutos. Um tutorial de exemplo para a criação de tarefas de agendamento muito básicas por meio de APIs

  2. Você também pode usar o schtasks.exe via cmd. Eu pude ver a limitação do modificador de minuto em 1 minuto na execução do schtasks.exe / Create / ?. De qualquer forma, o AT está agora obsoleto.

insira a descrição da imagem aqui

Enfim, estou trabalhando em uma ferramenta para se comportar como o CRON. Vou atualizar aqui se for bem sucedido.

Pikesh Prasoon
fonte