Onde você entrou nesta linha de crontab? Se estiver em algum lugar em /etc/
, um nome de usuário deve estar logo após * * * * *
, por exemplo:
* * * * * root /usr/bin/python3 /home/analytics/Documents/devDe...
Eu tenho um script python que gostaria de executar no cron a cada minuto
* * * * * /usr/bin/python3 /home/analytics/Documents/devDeliverables/attendanceReadTsv/check_raw.py
quando eu executo isso usando um terminal não-root, tudo corre bem. Isso gera um erro de acesso negado, mas ainda está bem.
quando eu executo isso usando um terminal de raiz, ele executa todo o caminho.
Estou verificando / var / log / cron e ele não mostra nenhum erro. Também com / var / log / messages , não vejo nenhum erro com a chamada python.
O que o script python faz é converter o tsv em xlsx e excluir os arquivos brutos. Mas isso não exclui o arquivo.
Onde você entrou nesta linha de crontab? Se estiver em algum lugar em /etc/
, um nome de usuário deve estar logo após * * * * *
, por exemplo:
* * * * * root /usr/bin/python3 /home/analytics/Documents/devDe...
isso soa idiota, mas eu respondo mesmo assim. A razão pela qual ele não está sendo executado como esperado é porque quando eu estou executando o script do terminal, estou no caminho correto onde está o script.
agora, quando o cron é executado, ele altera o diretório para / root. então minha pasta esperada onde ela deve ser executada não está realmente onde está.
Eu adicionei mais registros no cron para que eu possa ver a saída do python.
* * * * * /usr/bin/python3 /home/analytics/Documents/devDeliverables/attendanceReadTsv/check_raw.py >> /home/analytics/Documents/devDeliverables/attendanceReadTsv/logs.txt 2>&1