cron job no primeiro dia não final de semana do mês

1

Eu preciso executar um comando crontab no primeiro dia de cada mês, exceto se o primeiro for um sábado ou um domingo. Nesse caso, o comando deve ser executado na segunda-feira seguinte. Executar o comando na segunda, segunda, segunda ou terceira deve ter feito o trabalho, mas parece que não funciona. Eu tentei isso

45 06 1-3 * 1  mycmd.ksh >cmd1.log

45 06 1 * 2-5  mycmd.ksh >cmd2.log

O segundo comando é executado todos os dias às 6h45 De acordo com o meu entendimento, ele deve estar funcionando às 06h45 do primeiro dia de qualquer mês, se o dia for de terça a sexta-feira. Correu hoje sexta-feira 21 às 6h45!

Alguma pista?

Obrigado

    
por dahas 21.03.2014 / 15:36

1 resposta

2

Como a página man para crontab(5) deixa bem claro:

Note: The day of a command's execution can be specified in the following two fields — 'day of month', and 'day of week'. If both fields are restricted (i.e., do not contain the "*" character), 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.

Você precisará escrever uma entrada crontab que execute o trabalho no primeiro, segundo e terceiro de cada mês e modifique o trabalho para verificar em que dia é para decidir se deve ou não continuar.

    
por 21.03.2014 / 15:41

Tags