Saída do script Python no diretório errado quando chamado do cron

1

O script /blah/script.py tem -rwxr-xr-x 1 root root permissões e propriedade. O script é:

#!/usr/bin/python

with open('blahblah', 'w') as f:
    f.write('hello')

Com crontab -e , tentei:

0 * * * * /blah/script.py

Funciona, mas o arquivo é criado como /root/blahblah em vez de /blah/blahblah . Como fazer o arquivo de saída no diretório desejado ( /blah/blahblah neste caso) sem codificar seu nome no arquivo .py? Em outras palavras, como chamar um script Python do cron, com o diretório onde o script é armazenado como o diretório de trabalho ?

Observação: isso está funcionando, mas não é muito bom: 0 * * * * cd /home/blah && /usr/bin/python script.py .

    
por Basj 04.01.2017 / 14:11

1 resposta

2

A solução é adicionar isso no script Python

import os, sys
os.chdir(sys.path[0]) 

conforme explicado nas respostas do link .

    
por 04.01.2017 / 14:16