Cron Job Por Hora Exceto Determinado Prazo na Sexta

2

Eu quero que meu cron job seja executado a cada hora, todos os dias, exceto na sexta-feira, quando não quiser que ele seja executado entre as 2h e as 9h (mas por hora fora desse período). Idealmente, eu gostaria de ter isso em uma linha / um trabalho cron. O que eu tenho até agora é de 2 linhas (e não tenho 100% de certeza de que está correto):

0 0 * * 0,1,2,3,4,6 script.sh
0 0-1,10-23 * * 5 script.sh
    
por Pamela 02.02.2016 / 22:48

1 resposta

2

O formato parece estar correto (após a correção aplicada postada no comentário acima). Existem algumas restrições especiais para ter tudo em uma única linha? Caso você precise ter tudo em uma única linha, sugiro alterar o shell script para evitar sextas-feiras 2-9, por exemplo

#!/bin/bash
# THIS CODE IS NOT TESTED
# skip on fridays 2-9am
# what are the non-running times?
STARTTIME=2
ENDTIME=9

# get the current day of the week
DAY=$(date +"%u") # 1-Monday, therefore 5-Friday
# and the hour
HOUR=$(date +"%H")

if [ "$DAY" -eq 5 -a "$HOUR" -ge "$STARTTIME" -a "$HOUR" -le "$ENDTIME" ]
then
   # end the execution
   exit 0
fi

Espero que ajude a resolver o problema!

Frank

    
por 03.02.2016 / 00:53