Sou muito novo na criação de tarefas cron e do ambiente linux em geral, portanto peça desculpas antecipadamente se as perguntas soarem muito simples. Vou tentar apresentar meu problema da maneira mais clara possível. Então aqui vai,
Eu tenho dois scripts na minha pasta, ambos escritos em Python (versão 3.5.2). Eu estou logando em um servidor Linux remoto usando SSH onde meus scripts Python são armazenados. Ambos os scripts devem fazer algumas análises e me enviar um email. Script1.py é um script de teste, muito básico. Script2.py é o único que mantém a análise real. Ambos os scripts funcionam bem quando eu os executo individualmente.
Quando eu os programo no crontab, o script1.py (o script de teste simples) é agendado bem e recebo um e-mail a cada 2 minutos, conforme agendado. Mas com o Script2.py (a análise real), o email não é enviado. Eu posso ver que ambos estão sendo agendados no agendador crontab.
Meu palpite é que os scripts são executados porque posso ver execuções nos logs usando
sudo grep CRON /var/log/syslog
O que eu vejo nos logs é algo parecido com isto
Dec 30 19:38:01 abc-abcStation CRON[18707]: (abc) CMD (/home/abc/anuj/TPA/Script1.py)
para Script1.py e
Dec 30 19:58:01 abc-abcStation CRON[18707]: (abc) CMD (/home/abc/anuj/TPA/Script2.py)
para script2.py
Eu procurei bastante por esse tipo de problema e encontrei casos semelhantes para mim mesmo, tentei todas as soluções sugeridas, mas ainda sinto falta de algo.
Tudo o que tentei até agora inclui
PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin
*/2 * * * * /home/abc/anuj/TPA/Script2.py
SHELL=/bin/sh
PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin
*/2 * * * * /home/abc/anuj/TPA/Script2.py
*/2 * * * * cd /home/abc/anuj/TPA/ && Script2.py
added #!/usr/bin/python3 line at the top of my python code
Meu cronograma crontab é
*/2 * * * * python /home/abc/anuj/TPA/Script2.py
O que é surpreendente para mim é que o Script1.py corre bem e envia o email, mas o Script2.py não envia o email. Qualquer ajuda é muito apreciada.
Obrigado!
Tags cron python scheduling