won't even create .log file
O usuário para o qual você definiu o cronjob tem acesso de gravação a /appl/belo_monthly/results.log? Você criou o cronjob como usuário regular ou como root?
Estou com problemas para executar um script python por meio do cronjob.
Eu posso executar o script python (ele deve se conectar a um banco de dados, puxar alguns registros, salvá-lo em um csv, depois enviá-lo manualmente). No entanto, não consigo executá-lo. Ele deve rodar a cada minuto, para testes.
Aqui está a linha no crontab -e:
* * * * * /usr/bin/python /appl/belo_monthly/belo_monthly.py > /appl/belo_monthly/results.log
Eu usei chmod -x
no arquivo. Eu também tentei gravar as linhas print
do arquivo em um log. Nenhum está funcionando - nem sequer cria arquivo .log.
O arquivo python tem #!/usr/bin/python
no topo.
O que eu tentei:
Eu pesquisei aqui e descobri: script Python não sendo executado como cronjob
Usando isso como referência:
pidof cron
retorna um valor. sudo tail -f /var/log/syslog
me mostra o seguinte: Mar 31 10:21:01 ip-XX-XXX-XXX-XX CRON[30223]: (ubuntu) CMD (/usr/bin/python /appl/belo_monthly/belo_monthly.py > /appl/belo_monthly/results.log)
E adiciona outra linha como essa um minuto depois.
sudo strace -f -p pidof cron
. Que retornou isso: execve("/bin/sh", ["/bin/sh", "-c", "/usr/bin/python /appl/belo_month"...], [/* 6 vars */]) = 0
E, em seguida, uma confusão de texto truncado mais tarde, isto:
open("/appl/belo_monthly/results.log", O_WRONLY|O_CREAT|O_TRUNC, 0666) = -1 EACCES (Permission denied)
write(2, "/bin/sh: 1: ", 12) = 12
write(2, "cannot create /appl/belo_monthly"..., 63) = 63
write(2, "\n", 1) = 1
exit_group(2)
Estou pensando, não é possível criar um log. Mas e o script python? O que aconteceu?