Execução de trabalhos com base na mudança de horário

1

Eu tenho um cron job que roda às 01:00 todos os dias que cria dois arquivos em / tmp, chamados firstrun e endrun, cada um contendo o tempo que um script deve ser executado. Uma vez pela manhã e uma vez à noite. Os arquivos têm apenas uma linha e são assim:

0803

por 8:03 da manhã.

e

1754

por 5:54 da tarde

Eu preciso de um script que é executado no cron que verifica esses dois arquivos e, se a hora atual for maior do que a que é vista em cada arquivo MAIS 5 minutos, ele inicia outro script e sai. O kicker é que só precisa correr duas vezes por dia. Eu acho que ele pode excluir o arquivo assim que ele atende aos requisitos e se o arquivo não estiver lá. Claro que, às 01:00, os arquivos serão colocados de volta em / tmp pela primeira tarefa do cron.

A ideia é executar apenas os trabalhos uma vez por dia cada. Não mais e mais, todos os dias. O tempo nos arquivos muda todos os dias. Além disso, devo dizer que o script que dispara no primeiro arquivo é diferente do script que dispara no segundo arquivo.

Existe um script simples de verificação, disparo, exclusão e saída que pode ser colocado no cron e executado a cada 5 minutos? ou uma maneira mais fácil de fazer isso? Eu tentei vários métodos e nunca encontrei uma maneira de automatizar isso com sucesso.

    
por Randy Adams 11.11.2016 / 18:24

1 resposta

1

Você pode tentar usar at para agendar seus trabalhos em vez de cron .

at agenda trabalhos únicos para serem executados em um horário predeterminado no futuro. cron é bom para agendar trabalhos que são executados em intervalos regulares e pré-determinados, mas at é melhor para agendar tarefas que acontecem irregularmente e / ou em intervalos irregulares.

Leia man 1 at para mais informações e uso.

    
por 11.11.2016 / 18:29