Eu quero que o crontab execute diariamente três tarefas separadas, cada uma correspondendo a um script python. O primeiro requer alguns minutos para ser executado, pois isso abre uma lista de urls seqüencialmente, extrai o conteúdo html e salva algumas informações contidas nele. Portanto, agendei os três trabalhos em crontab em diferentes momentos. Abaixo do meu crontab
@daily ID=afstoken kinit --renew
SHELL=/bin/bash
PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
MAILTO=""
0 18 * * 1-5 /usr/bin/python /home/andrea/Documents/script1.py;
10 18 * * 1-5 /usr/bin/python /home/andrea/Documents/script2.py;
12 18 * * 1-5 /usr/bin/python /home/andrea/Documents/script3.py;
Destes, apenas o primeiro é executado. Como você pode ver, tentei inserir uma linha vazia entre instruções e adicionar o ;
no final de cada uma, mas ainda assim a segunda e a terceira tarefas não são executadas. Cada um dos três scripts python é executável.
Alguém sabe por que isso está acontecendo?
Poderia ser porque as variáveis de ambiente SHELL
, PATH
e MAILTO
são definidas apenas no primeiro trabalho? Eu não posso ver como, no entanto, desde que eu pensei que configurá-los no topo do crontab, iria configurá-los para todos os trabalhos.
Alguns conselhos sobre como resolver esse problema seriam amplamente apreciados, já que eu queria adicionar um quarto trabalho à lista. Além disso, se achar que há espaço para melhorias, ficarei muito feliz em aprender.
Obrigado