Como faço para agendar uma tarefa Cron para executar

4

Estou procurando criar um roteiro a cada hora a partir de sexta-feira às 17h ... terminando na segunda-feira às 5h.

Este script verifica se está concluído esta semana e se está atualmente em execução. Se não / não, inicie a tarefa.

No topo da minha cabeça, eu sei que eu poderia fazer:

#Mins  Hours  DoMonth Months  DoWeek
0      5-17   *       *       0,6     /bin/echo "Run Script Sat and Sun Days"
0      17-24  *       *       0,5,6   /bin/echo "Run Script Fri, Sat, Sun Nights"
0      0-5    *       *       6,0,1   /bin/echo "Run Script Sat, Sun, Mon Mornings"

Todas as maneiras que eu posso pensar envolvem três partes (sexta à noite, sáb / dom todo o dia, segunda-feira de manhã).

Existe uma maneira mais eficiente de fazer isso? Qualquer tipo de um / dois-liner que faria isso de hora em hora, durante esse período de tempo?

Ou uma simples verificação dentro do script para esse período de tempo (e saída se não estiver nesse intervalo de tempo) será mais fácil?

    
por WernerCD 13.01.2015 / 19:21

1 resposta

0

Se você quiser apenas verificar se o script está sendo executado no momento e, se não, executá-lo a cada hora, basta fazer algo como:

pgrep -x script-name.sh || script-name.sh

Mas você não gostaria de fazer isso a menos que tenha usado um nome exclusivo para o seu script - não o use com "echo" como o exemplo acima.

    
por 10.06.2016 / 23:24