Conflito de tempo de trabalho do Unix Crontab? [duplicado]

1

Eu tenho as seguintes duas entradas no meu trabalho Crontab que estão definidas para começar às 10:00 am.

Job # 1

0,20 10 * * 1-5 ./run_program_A

Job # 2

0,20 10 * * 1-5 ./run_program_B

Às 10:15, verifiquei meu arquivo de log e apenas o programa B foi executado. Parece que o programa A nunca foi demitido.

Se eu definir a hora de início do programa A como 10:30, ele será disparado. Eu não estou muito familiarizado com o Crontab, então espero que você possa lançar alguma luz sobre isso. Eu tenho que garantir que todos os meus trabalhos não sejam definidos ao mesmo tempo?

Obrigado antecipadamente.

    
por Ryan Liang 08.05.2009 / 16:26

5 respostas

5

cron certamente não possui tais restrições. O problema está em outro lugar (por exemplo, um bloqueio usado por ambos os programas).

    
por 08.05.2009 / 16:31
4

Algumas coisas aleatórias que podem ajudar a rastrear o problema:

  • verifique um log cron em / var / log
  • verifique se você está recebendo o email da saída do cron em algum lugar (o proprietário do arquivo cron, provavelmente), pois isso pode ter dicas interessantes
  • substitua "./run_program_A" por "echo ./run_program_A", apenas para ver se está sendo eliminado em todos os
  • coloque o programa "echo 'A correu' | mailx -s program_A [email protected]" dentro do run_program_A para verificar se está sendo executado
por 08.05.2009 / 16:42
2

Não, você não deve ter que evitar conflitos, cron deve lidar perfeitamente com trabalhos que começam ao mesmo tempo ou se sobrepõem de outra forma.

Existe alguma chance de que ambos os scripts estejam gravando no mesmo arquivo de log, de modo que um script esteja sobrescrevendo a saída do outro script?

    
por 08.05.2009 / 16:29
1

Verifique o / var / log / cron para mensagens de erro. Certamente há algo errado com como o "program_B" é chamado.

    
por 08.05.2009 / 16:50
1

20 10 * * 1-5 ./run_program_A > run_program_A.log

verifique o arquivo de registro após as 10:20, conforme

ls -ltr run_program_A.log

se o arquivo é gerado às 10:20 o problema está no script run_program_A e não no cron

para a ajuda do cron

link

    
por 10.08.2009 / 08:44

Tags