Crontab con raccolta output da terminale in python
Updated at: 04/09/2015


Immaginiamo di avere uno script in python che fra le altre cose esegua il comando os.popen("comando shell") e ne voglia poi raccogliere l'output per processarlo in qualche modo... Se tutto è fatto correttamente, da terminale funziona. Nel momento in cui però andiamo a metterlo in un cron schedulato, potrebbe non funzionare, nel senso che quello che raccoglie il comando os.popen("comando shell").read() è una stringa vuota. Questo dipende dal fatto che cron non ha i percorsi corretti. Per ovviare al problema è sufficiente aggiungere all'inizio del file crontab (crontab -e) la seguente riga:
PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin