
Estou escrevendo um script bash (.sh) para o cygwin. Quero executar um determinado comando em um horário específico.
Eu tentei o seguinte:
echo "test" | at 19:00
mas recebo o seguinte erro:
The AT command has been deprecated. Please use schtasks.exe instead.
Então só posso usar tarefas agendadas no Windows para isso?
Responder1
O at
comando do Unix não está disponível no Cygwin. O Cygwin tradicionalmente usa o at
comando do Windows, mas ele foi descontinuado em favor do schtasks.exe
.
Portanto, a resposta à sua pergunta é sim: você só pode usar a Tarefa Agendada no Windows para executar uma tarefa uma vez.
(Você pode usá-lo cron
e defini-lo em uma data específica em um horário específico... mas isso se repetirá todos os anos, a menos que você remova a tarefa do crontab.) ;-)
Responder2
Em vez disso, você pode adicionar um cron job.
Faça login do usuário do qual deseja executar o script bash.
Execute crontab -e
o comando.
Agora, suponha que você queira executar o script bash exatamente às 19h diariamente, então você precisa adicionar uma linha como esta:
00 19 * * * /path/to/bash/script
Nota: Esse script deve ter um bit executável definido para esse usuário.