Come usare Macports Python in un cron job?

1

Ho installato Python 2.7 tramite porte mac e ora voglio usarlo in un cron job. Sfortunatamente, ogni volta che il lavoro cron viene coinvolto, il Python standard della mia macchina (un iBook G4 usando Tiger) che è 2.3 è coinvolto, rendendo il mio lavoro fallito.

Il mio PERCORSO è (dal comando set )

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

Come posso far invocare il mio cron job con il mio PATH invece di quello difettoso?

    
posta Riduidel 08.08.2016 - 20:52
fonte

1 risposta

1

Il risultato della variabile PATH è molto diverso nel mondo cron . Richiama lo script con il percorso completo del file binario python (ad es. /Opt/local/bin/python2.7) e dovresti essere bravo.

Questo può essere esaminato eseguendo env come cronjob e confrontandolo con il risultato dell'esecuzione di env come utente nel Terminale:

cron env dell'utente:

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

rispetto all'env dell'utente:

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
...

In alternativa puoi aggiungere il PERCORSO al crontab:

sudo nano /var/cron/tabs/user

Nei sistemi più recenti (probabilmente ≥10.6):

sudo nano /private/var/at/tabs/user

Cambia

...

*       *       *       *       *       some command

a

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

*       *       *       *       *       some command
    
risposta data 08.08.2016 - 22:04
fonte

Leggi altre domande sui tag