¿Cómo usar macports Python en un trabajo cron?

1

He instalado Python 2.7 a través de puertos mac, y ahora quiero que se use en un trabajo cron. Desafortunadamente, cada vez que el trabajo cron se involucra, 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 comando set )

PATH=/opt/local/bin:/opt/local/sbin:/bin:/sbin:/usr/bin:/usr/sbin

P

¿Cómo puedo invocar mi trabajo cron con mi PATH en lugar del defectuoso?

    
pregunta Riduidel 08.08.2016 - 20:52

1 respuesta

1

El resultado de la variable PATH es bastante diferente en el mundo cron . Invoque la secuencia de comandos 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:

cron env del usuario:

PATH=/usr/bin:/bin:/usr/sbin:/sbin
...
SHELL=/bin/bash
HOME=/Users/user
USER=user
PWD=/
...

comparado 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, puedes agregar el PATH 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
    
respondido por el klanomath 08.08.2016 - 22:04

Lea otras preguntas en las etiquetas