Como posso executar o trabalho Cron a cada 5 dias?

5

Eu tenho 5 scripts de shell, quero executá-los no ciclo de 5 dias, como segue:

Dia 1: roteiro 1    Dia 2: roteiro 2    Dia 3: roteiro 3    Dia 4: roteiro 4    Dia 5: roteiro 5

Dia 6: roteiro 1    Dia 7: roteiro 2    Dia 8: roteiro 3    Dia 9: roteiro 4    Dia 10: roteiro 5

E mantenha os scripts em execução no ciclo de 5 dias. Como posso configurá-lo em tarefas agendadas?

Obrigado

    
por want_to_be_calm 18.02.2015 / 04:17

1 resposta

8

cron por si só não suporta isso. A maneira mais fácil de realizar o que você deseja é pedir a cron para executar um script de dispatcher todos os dias (ao mesmo tempo) e fazer com que o script dispatcher decida qual outro script será executado com base em qual dia ele é. Por exemplo:

#!/bin/sh

case $(expr $(date +%s) / 86400 % 5) in
   0)
       exec /script/for/day/1
       ;;
   1)
       exec /script/for/day/2
       ;;
   2)
       exec /script/for/day/3
       ;;
   3)
       exec /script/for/day/4
       ;;
   4)
       exec /script/for/day/5
       ;;
esac
    
por 18.02.2015 / 04:37

Tags