O que há de errado com esses crontabs?

1

Eu quero que meus projetores liguem antes que o shopping seja aberto e desligue quando o shopping fechar. Então criei entradas crontab (que coloquei em /etc/cron.d/mall), mas hoje ( Thu Nov 22 18:58:29 EST 2012 é o atual date nesse servidor), o script poweroff.sh foi executado às 17:20 (veja o excerto do syslog abaixo).

Em quinta-feira, 22 de novembro, eu esperaria que o script power-off.sh fosse executado às 21:20, de acordo com a quarta linha crontab abaixo.

Por que o power-off.sh foi executado às 17h20? O que há de errado com minhas entradas no crontab?

Conteúdo de /etc/cron.d/mall :

40  9 22-30 Nov Mon-Sat myuser /usr/local/projectors/power-on.sh
40 10 22-30 Nov Sun     myuser /usr/local/projectors/power-on.sh

20 18 22-30 Nov Mon-Wed myuser /usr/local/projectors/power-off.sh
20 21 22-30 Nov Thu-Fri myuser /usr/local/projectors/power-off.sh
20 17 22-30 Nov Sat-Sun myuser /usr/local/projectors/power-off.sh

40  9  1-22 Dec Mon-Sat myuser /usr/local/projectors/power-on.sh
40 10  1-22 Dec Sun     myuser /usr/local/projectors/power-on.sh

20 21  1-22 Dec Mon-Fri myuser /usr/local/projectors/power-off.sh
20 17  1-22 Dec Sat-Sun myuser /usr/local/projectors/power-off.sh

trecho do syslog:

$ grep power-off.sh /var/log/syslog
Nov 22 17:20:01 lanner-ubu-c2d CRON[23007]: (myuser) CMD (/usr/local/projectors/power-off.sh)
    
por Guillaume Boudreau 23.11.2012 / 01:15

2 respostas

0

Da página man do crontab (5):

Note: The day of a command's execution can be specified by two fields day of month, and day of week. If both fields are restricted (i.e., aren't *), the command will be run when either field matches the current time. For example, 30 4 1,15 * 5 would cause a command to be run at 4:30 am on the 1st and 15th of each month, plus every Friday.

    
por 24.11.2012 / 20:20
3

Meu melhor palpite é que ele não pode manipular Sat-Sun por causa disso na página do manual de crontab(5) :

Names can also be used for the ''month'' and ''day of week'' fields.   Use
the  first three letters of the particular day or month (case doesn't mat‐
ter).  Ranges or lists of names are not allowed.

Isso significa que algumas de suas linhas são simplesmente incorretas e provavelmente causarão um comportamento inesperado ou pelo menos não documentado.

Portanto, sugiro alterar seus limites de dia da semana para números.

    
por 23.11.2012 / 01:35

Tags