Execute um comando em um determinado momento no cygwin

Execute um comando em um determinado momento no cygwin

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 atcomando do Unix não está disponível no Cygwin. O Cygwin tradicionalmente usa o atcomando 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 crone 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 -eo 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.

informação relacionada