Instalé Python 2.7 a través de puertos mac y ahora quiero que se use en un trabajo cron. Desafortunadamente, cada vez que se involucra el trabajo cron, el Python estándar de mi máquina (un iBook G4 que usa Tiger) que es 2.3 está involucrado, lo que hace que mi trabajo falle.
Mi RUTA es (del set
comando)
PATH=/opt/local/bin:/opt/local/sbin:/bin:/sbin:/usr/bin:/usr/sbin
PAG
¿Cómo puedo invocar mi trabajo cron con mi PATH
en lugar del defectuoso?
El resultado de la variable PATH es bastante diferente en el mundo cron . Invoque el script con la ruta completa al binario de python (por ejemplo, /opt/local/bin/python2.7) y debería estar bien.
Esto se puede examinar ejecutando env
como cronjob y comparándolo con el resultado de ejecutar env
como usted mismo en la Terminal:
entorno cron del usuario:
PATH=/usr/bin:/bin:/usr/sbin:/sbin
...
SHELL=/bin/bash
HOME=/Users/user
USER=user
PWD=/
...
en comparación con el env del usuario:
PATH=/opt/local/bin:/opt/local/sbin:/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/bin:/usr/X11/bin
...
SHELL=/bin/bash
HOME=/Users/user
USER=user
PWD=/Users/user
...
Alternativamente, puede agregar la RUTA al crontab:
sudo nano /var/cron/tabs/user
En sistemas más nuevos (probablemente ≥10.6):
sudo nano /private/var/at/tabs/user
Cambiar
...
* * * * * some command
a
...
PATH=/opt/local/bin:/opt/local/sbin:/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/bin:/usr/X11/bin
* * * * * some command
/etc/crontab
es el "sistema" crontab. Los crontabs de usuario se encuentran en /var/cron/tabs
10.4. Fuente: opensource.apple.com/source/cron/cron-12.2/cron/pathnames.h
mmmmmm